mysql爬坑总结

下面是总结多年的mysql坑 1. 访问控制(User 和主机); 2. 禁止业务系统使用 root,root 应作为保留管理员账号; 3. 字符集建议都设置为 utf8mb4; 4. 表字段不得超过 30 个,且单表数据最好不要超过 400w,大数据进行合理分表(水平 / 垂直); 5. 表必须有主键,且设置 id 为自增主键; 6. 库表字段等要规范且有意义的命名,使用蛇形命名且禁止大写; 7. 引擎类型一律为 InnoDB,如无特殊需求。禁止使用 InnoDB/MyISAM/Memory 以外的存储引擎; 8. 表字段禁止 NULL,必须 NOT NULL default 默认值,NULL 值会存在占用额外存储空间、索引失效等其他问题; 9. 字段最好不要出现 blob、text,实在需要时请使用拓展表; 10. 唯一索引以 “uq_” 开头,普通索引以 “idx_” 开头; 11. 索引个数最好不要超过 5 个; 12.join 必须使用索引,in 查询不要超过 1000,合理使用 join 与 in (笛卡尔积与子查询不用索引); 13. 禁止写 select *,同理禁止 insert into t1 values (…); 14.UNION ALL 替代 UNION; 15.DML 语句 where 条件必须用索引,注意表锁问题; 16. 合理使用索引,注意索引左原则、索引失效,null 值等的影响; 17. 尽量避免循环查询
 5
 1
 分享
评论图片
评论
阔阔

3 年前
回复