MySQL日常使用遵循的规范建议】的更多相关文章

一 . 基础规范 1.必须使用InnoDB存储引擎 解读:支持事务:支持行级锁:支持MVCC多版本控制:支持外键:死锁自动检测:并发性能更好.CPU及内存缓存页优化使得资源利用率更高. 2.  表字符集推荐使用utf8mb4 解读:utf8 是 Mysql 中的一种字符集,只支持最长三个字节的 UTF-8字符,也就是 Unicode 中的基本多文本平面(BMP).任何不在基本多文本平面的 Unicode字符,都无法使用 Mysql 的 utf8 字符集存储.包括 Emoji 表情(Emoji 是…
整理MySQL日常操作. 1.知道一个字段名,怎样查到它在数据库里的哪张表里? USE Information_schema;SELECT TABLE_NAME FROM COLUMNS WHERE COLUMN_NAME='字段名称'; MySQL中查看库表字段信息都在information_schemal中,获取数据字典等信息都要通过这个视图. 如: select table_name from columns where column_name='user_id'; 2. 如何查看建表语句…
如今代码静态检查越来越重要,已经成为构建高质量软件的不可或缺的一个验证步骤.如果你使用的是java语言,那么CheckStyle则是一个利器. CheckStyle能够帮助程序员检查代码是否符合制定的规范.通过将CheckStyle的检查引入到项目构建中,可以强制让项目中的所有的开发者遵循制定规范,而不是仅仅停留在纸面上.如果发现代码违反了标准,比如类名未以大写开头.单个方法超过了指定行数.甚至单个方法抛出了3个以上的异常等.这些检查由于是基于源码的,所以不需要编译,执行速度快. CheckSt…
前言 工作中接触了非常多编程规范.当中最有意思的是,公司近期公布了一版C/C++编程规范,然后我看到该规范的最后一段时,有这么一句:"该规范不适用于Windows平台开发".看来这份规范是由做其它平台开发的同学制定的.那么做Windows开发的人都去哪儿了?后来因为工作须要,项目组须要我制定一份编程规范.这也是我这系列博客的由来.(转载请指明出于breaksoftware的csdn博客) 说到"规范"",可能没多少人喜欢这种东西.相信非常多project师…
RESTful概述 RESTful是目前最流行的一种互联网软件架构.它结构清晰.符合标准.易于理解.扩展方便,所以正得到越来越多网站的采用. REST是Representational State Transfer的缩写,是Roy Thomas Fielding在他2000年的博士论文中提出的.其提出的设计概念和准则为: 1. 网络上的所有事物都可以抽象为资源 2. 每个资源都应该有唯一的标识(identifier),对资源的操作不会改变标识 3. 所有的操作都是无状态的 4. 使用标准方法(G…
转自:http://www.chinaz.com/design/2015/0908/443732.shtml Android编码规范建议18条 适合手机app设计师和android 工程师阅读. 1.java代码中不出现中文,最多注释中可以出现中文 2.局部变量命名.静态成员变量命名 只能包含字母,单词首字母除第一个外,都为大写,其他字母都为小写 3.常量命名 只能包含字母和_,字母全部大写,单词之间用_隔开 4.图片尽量分拆成多个可重用的图片 5.服务端可以实现的,就不要放在客户端 6.引用第…
Mysql数据库的瓶颈处理一点建议         我们在使用Mysql数据库是常见的两个瓶颈是CPU和I/O的瓶颈,CPU在饱和的时候一般发生在数据装入内存或从磁盘上读取数据时候.磁盘I/O瓶颈的出现呢发生在装入数据远大于内存容量的时候,如果应用分布在网络上,那么查询量相当大的时候那么平瓶颈就会出现在网络上.所以大家在购买新硬件时就要考虑工作负载是否会造成瓶颈或是CPU的或是I/O的.我们可以用mpstat,iostat和vmstat来查看.大家可能会想如果多加几个CPU,那么瓶颈问题不就迎刃…
Mysql 日常总结 做报表的时候经常会使用 if 来帮助统计 select count(if(key=1,1,NULL)) from atable where ... 当然,也支持选择 select CASE sva WHEN 1 THEN '男' ELSE '女' END as ssva from taname where sva != '' Mysql 支持很多函数,可以玩一玩 update atable set key = replace('key','wawa','haha') Mys…
面试官: 我看你的简历上写着精通MySQL,问你个简单的问题,MySQL联合索引有什么特性? 心想,这还不简单,这不是问到我手心里了吗? 听我给你背一遍八股文! 我: MySQL联合索引遵循最左前缀匹配原则,即最左优先,查询的时候会优先匹配最左边的索引. 例如当我们在(a,b,c)三个字段上创建联合索引时,实际上是创建了三个索引,分别是(a).(a,b).(a,b,c). 查询条件中包含这些索引的时候,查询就会用到索引.例如下面的查询条件,就可以用到索引: select * from table…
一.基础规范 使用InnoDB存储引擎支持事务.行级锁.并发性能更好.CPU及内存缓存页优化使得资源利用率更高 推荐使用utf8mb4字符集无需转码,无乱码风险, 支持emoji表情以及部分不常见汉字 表.字段必须加注释方便他人理解字段意思,在后期维护中非常非常有用,不用去瞎猜这个字段是干嘛的. 不在数据库做计算禁止使用存储过程.视图.触发器.Event.在并发量大的情况下,这些功能很可能将数据库拖跨,业务逻辑放到服务层具备更好的扩展性,能够轻易实现"增机器就加性能" 禁止存储文件文件…
一.基础规范 (1) 使用INNODB存储引擎 (2) 表字符集使用UTF8 (3) 所有表都需要添加注释 (4) 单表数据量建议控制在5000W以内 (5) 不在数据库中存储图.文件等大数据 (6) 禁止在线上做数据库压力测试 (7) 禁从测试.开发环境直连数据库 二.命名规范 (1) 库名表名字段名必须有固定的命名长度,12个字符以内 (2) 库名.表名.字段名禁止超过32个字符.须见名之意 (3) 库名.表名.字段名禁止使用MySQL保留字 (4) 临时库.表名必须以tmp为前缀,并以日期…
关于变量定义及命名 现在谈谈关于变量及方法等的命名,没有硬性规定,但为了规范,遵循一些约定还是很有必要的. 变量定义:好的做法是把将要使用的变量名用一个var关键字一并定义在代码开头,变量名间用逗号隔开.原因有二: 一是便于理解,知道下面的代码会用到哪些变量,同时代码显得整洁且有规律,也方便管理,变量定义与逻辑代码分开: 二是因为JavaScript中所有变量及函数名会自动提升,也称之为JavaScript的Hoist特性,即使你将变量的定义穿插在逻辑代码中,在代码解析运行期间,这些变量的声明还…
记录一些日常的mysql常用的使用, 方便随用随查. 一.表结构 1.1 查看表结构 方式1: 可以查看建表语句,完整的表结构. show create table table_name; 方式2:可以比较好的筛选自己要查的表信息,方便整理表结构文档. # 查询表所有列信息 select * from information_schema.columns where table_schema = 'db' #表所在数据库 and table_name = 'tablename' ; #你要查的表…
目录 1. 规范背景与目的 2. 设计规范 2.1. 数据库设计 2.1.1. 库名 2.1.2. 表结构 2.1.3. 列数据类型优化 2.1.4. 索引设计 2.1.5. 分库分表.分区表 2.1.6. 字符集 2.1.7. 一个规范的建表语句示例 2.2. SQL编写 2.2.1. DML语句 2.2.2. 多表连接 2.2.3. 事务 2.2.4. 排序和分组 2.2.5. 线上禁止使用的SQL语句 1. 规范背景与目的 本规范旨在帮助或指导RD.QA.OP等技术人员做出适合线上业务的数…
数据库的五个概念 数据库服务器 数据库 数据表 数据字段 数据行 那么这里下面既是对上面几个概念进行基本的日常操作. 数据库引擎使用 这里仅仅只介绍常用的两种引擎,而InnoDB是从MySQL 5.6.版本以后InnoDB就是作为默认启动使用的存储引擎. (1) InnoDB a,支持ACID,简单地说就是支持事务完整性.一致性: b,支持行锁,以及类似ORACLE的一致性读,多用户并发: c,独有的聚集索引主键设计方式,可大幅提升并发读写性能: d,支持外键: e,支持崩溃数据自修复: Inn…
tips:如果本文对你有用,请爱心点个赞,提高排名,让这篇文章帮助更多的人.谢谢大家!比心❤~ 如果解决不了,可以在文末加我微信,进群交流. 设计规范,在分工协作的工作场景中尤其重要,否则团队之间互相牵制太多,问题多多. 规范设计我想提到如下的几个规范,其实只是属于开发规范的一部分内容,可以作为参考. 规范的本质不是解决问题,而是有效杜绝一些潜在问题,对于千万级大表要遵守的规范,我梳理了如下的一些细则,基本可以涵盖我们常见的一些设计和使用问题,比如表的字段设计不管三七二十一,都是varchar(…
1.约束 1.PrimaryKey(PK)主键 特点:唯一 + 非空,一张表中只能有一个主键约束,一般是一个数字列,最好是无意义的. 2.NOT NULL 非空 特点:不能为空,建议在MySQL中,业务关键列,尤其是索引列,设置为非空. 3.UNIQUE 唯一约束 特点:不能有重复值,可以有多个,一般像是手机号,身份证号 4.unsigned 数字列无符号(全是正数) 特点:必须要加在数字列后,表示数字无负数,一般适用于年龄.......... 2.其他属性 1.AUTO_INCREMENT 自…
1.MySQL存储引擎介绍 MyISAM:低版本MySQL默认的MySQL插件式存储引擎,存储文件易损坏,不支持事务.InnoDB:目前默认的MySQL存储引擎,用于事务处理应用程序,具有众多特性,包括ACID事务支持 建表语句建议使用 ENGINE=InnoDB 字段,例如: CREATE TABLE `t_user` ( .... ) ENGINE=InnoDB AUTO_INCREMENT=初始值 DEFAULT CHARSET=utf8; 2.explain执行计划(mysql expl…
###php编码规范 -------* sql过长 ```$sql = <<<SQLSELECT delivery_idFROM d_testWHERE delivery_idIN (123,234)GROUP BY delivery_idHAVING SUM(send_number) <= 0;SQL;```* if等控制结构条件过长 ```if ($a > 0 && $b > 0 && $c > 0 && $d…
[mysqld] port = 3306 serverid = 1 socket = /tmp/mysql.sock skip-name-resolve #禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时间.但需要注意,如果开启该选项,则所有远程主机连接授权都要使用IP地址方式,否则MySQL将无法正常处理连接请求!注:如果用winform连接mysql,加入此句速度会有很大的提升 skip-locking # 避免MySQL的外部锁定,减少出错几率增强稳…
注:本文大部内容参考自互联网相关文章 1.MySQL大小写敏感规则 MySQL中,一个库会对应一个文件夹,库里的表会则以文件的方式存放在文件夹内,所以,操作系统对大小写的敏感性决定了数据库和表的大小写敏感(MySQL有一个只读的系统变量lower_case_file_system,其值反映的正是当前文件系统是否区分大小写)因此:在Windows下Mysql的数据库和表名是大小写不敏感的,而在大多数类型的Unix系统中是大小写敏感的. 以下是MySQL详细的大小写区分规则: 在Linux下: 1.…
MySQL 是世界上最流行的开源数据库系统,而MariaDB(MySQL的一个分支)是世界上发展最快的开源数据库系统.安装MySQL服务器之后,它的默认配置是不安全的,保护它是一般数据库管理中的基本任务之一. 这将有助于加强和提升整体Linux服务器安全性,因为攻击者总是扫描系统任何部分的漏洞,而数据库过去一直是关键的目标.一个常见的例子是暴力破解MySQL数据库的root密码. 在本指南中,将讲解在 Linux 很有用的 MySQL / MariaDB 安全性最佳实践. MySQL 安全性安装…
mysql命令不区分大小写,函数和关键字建议使用大写字母,以分号结束语句. 显示当前服务器版本 SELECT VERSION(); 显示当前时间 SELECT NOW(); 显示当前用户 SELECT USER();…
在MySQL数据库日常运维中,对业务子账号的权限的统一控制十分必要. 业务上基本分为读账号和写账号两种账号,所以可以整理为固定的存储过程,让数据库自动生成对应的库的账号,随机密码.以及统一的读权限,写权限.(这里没有对 host进行过多的限制.只赋给通用的192.168.% .有兴趣的同学可以在存储过程加个参数,对host 控制) delimiter // set session sql_log_bin=OFF; drop PROCEDURE IF EXISTS `usercrt` // CRE…
#登录MYSQL数据库 MYSQL -u root -p #显示所有数据库 SHOW databases; #显示当前数据库与应用程序间进行了多少条连接 SHOW processlist; #使用某一数据库 USE database; #显示所有表 SHOW tables; #表结构描述 describe DESC table; #筛选表数据 #选择哪些列 SELECT prod_name, prod_price #从哪个表选 FROM products #选择的列做出什么筛选匹配 #根据什么顺…
日常运维 DBA运维工作 日常 导数据,数据修改,表结构变更 加权限,问题处理 其它 数据库选型部署,设计,监控,备份,优化等 日常运维工作: 导数据及注意事项 数据修改及注意事项 表结构变更及注意事项 加权限及注意事项 问题处理,如数据库响应慢 导数据及注意事项 数据最终形式(csv,sql文本,还是直接导入某库中) 导数据方法(mysqldump,select into outfile,) 注意事项 导出为csv格式需要file权限,并且只能数据库本地导 避免锁库锁表(mysqldump使用…
一.统计信息(SQL维度) 关于SQL维度的统计信息主要集中在events_statements_summary_by_digest表中,通过将SQL语句抽象出digest,可以统计某类SQL语句在各个维度的统计信息(比如:执行次数,排序次数,使用临时表等) 1.执行次数最多的SQL SELECT DIGEST_TEXT, COUNT_STAR, FIRST_SEEN, LAST_SEEN FROM `performance_schema`.events_statements_summary_b…
一.本文档的写作目的 App需要跟产品.UI.后台.服务器.测试打交道,app的产出是其他端人员产出的综合体现.与其他端人员沟通就像是开发写接口,也就是面向接口编程的思想. 本文档讲解针对的是服务端返回数据时使用的字段数据类型如何选择.iOS端将JSON数据转模型的时候用什么类型来定义对应的属性. 二.本文档的使用范围 首先介绍下在本文档中使用的技术领域. 1.服务端使用的是C#语言 2.Api接口文档自动生成 3.采用的是JSON数据传输格式 4.iOS使用的是Objective-C语言举例…
逍遥山人的MySQL使用笔记,持续更新中 表结构 新建表以及添加表和字段的注释 create table t_user( ID INT(11) primary key auto_increment comment '主键', NAME VARCHAR(255) comment '姓名', CREATE_TIME date comment '创建时间' )comment = '用户信息表'; 修改字段类型 alter table tablename modify column column_nam…
Python中空白 1. 4个空格表示缩进,用4个空格代替一个TAB 2. 不再逗号.分号.冒号前加空格,应该在其后加空格 3. 关系运行符.数学运算符.逻辑运算符.赋值运算符 前后都加一个空格 4. [] {} () 符号左右两边边界符号与元素之间都不要加空格 5. 逻辑不相干代码之间空一行,其他尽量少空行 6. 每行代码不超过80个字符,每个逻辑20行左右代码 7. 代码文件最后需要空一行 版本声明 1. #!/usr/bin/python3 声明python版本为3 2. #!/usr/b…