MySQL的优化技巧
虽然说数据库性能调优是DBA(数据库管理员)的事,但是也和程序员有莫大关系。
程序中的一条条SQL语句如果使用了一些小技巧也能达到事半功倍的效果。
以下是我从别处看到整理的一些优化小技巧,不定期更新。
若明知只有一条查询结果,则可以使用“LIMIT 1”。
LIMIT 1可以避免全表扫描,找到对应结果则不会再继续扫描了。
比较运算符能用“=”就不要用“<>”。
“=”增加了索引的使用几率。
为列选择合适的数据类型
能用TINYINT就不用SMALLINT,能用SMALLINT就不要INT,因为磁盘和内存消耗越小越好
将大的DELETE,UPDATE or INSERT查询变成多个小查询
能写一个几十行设置几百行的SQL语句是不是显得逼格很高?然而,为了达到更好的性能以及更好的数据控制,可以将他们多个小查询。
使用UNION ALL代替UNION,如果结果集容许重复的话。
因为UNION ALL不去重,效率高于UNION.
尽量避免使用SELECT*
原因是减少服务器端到客服端的io消耗
条件列尽量被索引
WHERE,JOIN,ORDER BY字句中的列尽量被索引,会提示性能