知道这些Mysql数据库设计规范,让你的数据库效率更高

一.数据库设计规范

1.给业务方开权限时,密码要用MD5加密,至少16位。权限如没有特殊要求,均为select查询权限,并做库表级限制。

2.禁止在主库上执行后台管理和统计类的功能查询,这种复杂类的SQL会造成CPU的升高,进而会影响业务。

3.禁止在数据库中存储明文密码。

4.使用InnoDB存储引擎。

InnoDB包括了对事务处理和外来键的支持

5.表字符集统一使用UTF8。

6.所有表和字段都需要添加中文注释。

7.不在数据库中存储图片、文件等大数据。

8.避免使用外键,外键用来保护参照完整性,可在业务端实现。

外键会导致父表和子表之间耦合,十分影响SQL性能,出现过多的锁等待,甚至会造成死锁

二.数据库索引设计规范

1.索引不是越多越好,按实际需要进行创建。

因为索引创建后需要存在另外的空间中如果过多每次表更新的话索引也是很大的一个开销。

2.查询的字段必须创建索引

比如:SELECT、UPDATE、DELETE语句的WHERE条件列;多表JOIN的字段。

3.不要在索引列进行数学运算和函数运算。

在索引字段上进行函数计算会导致索引失效,从而导致效率变低

4.不要在变动率很小的字段上创建索引比如:性别

5.不使用%在前面的模糊查询如like ‘%xxx’

6.用IN来替换OR。

使用or会使索引失效,所以要用in替换or

6.如果列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不使用索引

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180123A0X3ND00?refer=cp_1026

相关快讯

扫码关注云+社区