建表时的优化:
- 1、只要能满足你的需求,应尽可能使用更小的数据类型:例如使用MEDIUMINT代替INT
- 2、尽量把所有的列设置为NOT NULL,如果你要保存NULL,手动去设置它,而不是把它设为默认值。
- 3、尽量少用VARCHAR、TEXT、BLOB类型
- 4、如果你的数据只有你所知的少量的几个。最好使用ENUM类型
- 5、建立索引。
查询语句的优化:
编写原则:
- 对于任何sql语句,一定要考虑其性能。
- 避免使用复杂的sql语句
- 避免不必要的排序
- 使用表的别名
- Select语句避免使用*
具体细节规则:
- Where条件中等号左边不用引用函数
- Where条件中对于不同的数据类型,要做显示转换。
- 使用not exists 替代not in,exists替代in,exists语句可以有效的利用索引。
- 使用>=、<=,避免使用not命令
- 使用union,替代or