建立索引并命中索引,在查询的时候,要尽量让数据库引擎使用索引。加入explain执行计划 1.尽量避免使用select * 2.尽量避免使用!= 3.尽量避免使用or 优化方式:可以用union代替or。如下: SELECT * FROM t WHERE username="hkw" UNION SELECT * FROM t WHERE nickname="jon" 4.尽量避免使用in 和not in 优化方式:如果是连续数值,可以用between代替 如果是子查询,可以用exists代替。如下: SELECT * FROM t1 WHERE EXISTS (SELECT * FROM t2 WHERE t1.username = t2.username) 5.尽量避免在字段开头模糊查询 SELECT * FROM t WHERE username LIKE '%li%' 优化方式:尽量在字段后面使用模糊查询。如下: SELECT * FROM t WHERE username LIKE 'li%' 6.尽量避免进行null值的判断 SELECT * FROM t WHERE score IS NULL 优化方式:可以给字段添加默认值0,对0值进行判断。如下: SELECT * FROM t WHERE score = 0 7.尽量避免在where条件中等号的左侧进行表达式、函数操作 SELECT * FROM t2 WHERE score/10 = 9 SELECT * FROM t2 WHERE SUBSTR(username,1,2) = 'li' 优化方式:可以将表达式、函数操作移动到等号右侧。如下: SELECT * FROM t2 WHERE score = 10*9 SELECT * FROM t2 WHERE username LIKE 'li%'
标签:语句,username,尽量避免,t2,查询,SQL,WHERE,SELECT From: https://www.cnblogs.com/hkwJsxl/p/16884773.html