MySQL使用规范
来源:互联网 发布:吴亦凡长相知乎 编辑:程序博客网 时间:2024/05/22 15:51
一、建表:
1、任何字段,如果为非负数,必须为 unsigned
2、小数类型为decimal, 禁止使用float 和double
float 和 double 在存储的时候,存在精度损失的问题,很可能在值的比较时,得到不正确的结果。如果存储的数据范围超过 decimal 的范围,建议将数据拆成整数和小数分开存储。
3、如果存储的字符串长度几乎相等,使用char
4、varchar 是可变长字符串,不预先分配存储空间,长度不要超过5000,如果存储长度大于此值,定义字段类型为text
5、表必备3个字段: id, gmt_create, gmt_modified
其中 id 必为主键,类型为 unsigned bigint、单表时自增、步长为 1。gmt_create,gmt_modified 的类型均为 date_time 类型。
6、单表行数超过500W行,或者单表容量超过2GB,才推荐建表的时候就分库分表
二、索引
1、业务上具有唯一特性的字段,即使是组合字段,也必须建成唯一索引。
2、如果有 order by 的场景,请注意利用索引的有序性。order by 最后的字段是组合索引的一部分,并且放在索引组合顺序的最后,避免出现 file_sort 的情况,影响查询性能。
3、利用覆盖索引来进行查询操作,避免回表。
说明:如果一本书需要知道第 11 章是什么标题,会翻开第 11 章对应的那一页吗?目录浏览一下就好,这个目录就是起到覆盖索引的作用。正例:能够建立索引的种类:主键索引、唯一索引、普通索引,而覆盖索引是一种查询的一种效果,用 explain 的结果,extra 列会出现:using index。
三、sql
1、使用 ISNULL()来判断是否为 NULL 值。注意:NULL 与任何值的直接比较都为 NULL。
说明:1) NULL<>NULL 的返回结果是 NULL,而不是 false。
2) NULL=NULL 的返回结果是 NULL,而不是 true。
3) NULL<>1 的返回结果是 NULL,而不是 true。
- Mysql使用规范-----建表
- MySQL使用规范
- mysql-使用规范
- mysql使用规范
- mysql使用规范
- MySQL使用规范
- MySQL使用规范
- MySQL使用规范备注
- mysql limit 使用规范
- MySQL使用规范
- Mysql建表和索引使用规范
- Mysql建表和索引使用规范
- MySQL开发规范与使用技巧总结
- MySQL开发规范与使用技巧总结
- Mysql建表和索引使用规范
- MySQL命名、设计及使用规范
- MySQL命名、设计及使用规范
- MySQL开发规范与使用技巧总结
- Problem B: 薪酬计算
- 最流行的android组件大全
- I帧转图片(BMP、PPM、JPG)
- 关于springboot-actuator监控的401无权限访问
- 基于JavaSE的在线聊天系统
- MySQL使用规范
- Android studio 异常记录
- Linux常用命令
- 漫谈设计模式值外观模式(Facade)
- oracle数据库-行转列加排序
- for循环练习,乘法口诀表和三角形。
- Html5本地存储LocalStorage
- baresip
- synchronized 与 ReentrantLock 的区别