养成SQL好习惯总结
Posted 一宸
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了养成SQL好习惯总结相关的知识,希望对你有一定的参考价值。
1.写完SQL先explain查看执行计划(SQL性能优化)
日常开发写SQL的时候,尽量养成这个好习惯呀:写完SQL后,用explain分析一下,尤其注意走不走索引。
常见的客户端工具如PL/SQL Developer,Navicat, Toad都支持查看解释计划。
2、操作delete或者update语句,加个limit(SQL后悔药)
- 设计表的时候,所有表和字段都添加相应的注释(SQL规范优雅)
- SQL书写格式,关键字大小保持一致,使用缩进。(SQL规范优雅)
- INSERT语句标明对应的字段名称(SQL规范优雅)
- 变更SQL操作先在测试环境执行,写明详细的操作步骤以及回滚方案,并在上生产前review。(SQL后悔药)
变更SQL操作先在测试环境测试,避免有语法错误就放到生产上了。
变更Sql操作需要写明详细操作步骤,尤其有依赖关系的时候,如:先修改表结构再补充对应的数据。
变更Sql操作有回滚方案,并在上生产前,review对应变更SQL。
7.设计数据库表的时候,加上三个字段:主键,create_time,update_time。(SQL规范优雅) - 写完SQL语句,检查where,order by,group by后面的列,多表关联的列是否已加索引,优先考虑组合索引。(SQL性能优化)
9.修改或删除重要数据前,要先备份,先备份,先备份(SQL后悔药) - where后面的字段,留意其数据类型的隐式转换(SQL性能优化)
- 尽量把所有列定义为NOT NULL(SQL规范优雅)
12.修改或者删除SQL,先写WHERE查一下,确认后再补充 delete 或 update(SQL后悔药)
13.减少不必要的字段返回,如使用select <具体字段> 代替 select * (SQL性能优化)
14.所有表必须使用Innodb存储引擎(SQL规范优雅)
15.数据库和表的字符集尽量统一使用UTF8(SQL规范优雅) - 尽量使用varchar代替 char。(SQL性能优化)
- 索引命名要规范,主键索引名为 pk_ 字段名;唯一索引名为 uk _字段名 ;普通索引名则为 idx _字段名。(SQL规范优雅)
21.如果修改/更新数据过多,考虑批量进行。
//反例
delete from account limit 100000;
//正例
for each(200次)
{
delete from account limit 500;
}
以上是关于养成SQL好习惯总结的主要内容,如果未能解决你的问题,请参考以下文章