分布式事务数据库 —-MySQL 数据库开发规范》一文更新到现在已经过半了~Amy对之前的目录进行了调整——也是为了让大家能够更早的看到这篇诚意十足的干货!今天为大家更新第五节“ 简化查询语句”。感兴趣的可以复习一下之前的四节。
当然,如果我的分享有帮助到你,可以继续关注我哦~有什么疑惑或者不足之处也欢迎大家在评论里指出!
5.1 简化查询语句**
5.1.1 去掉不必要的子查询
SELECT * FROM (SELECT column1,column2 FROM table_name WHERE column1=xx) limit 10;
修改成
SELECT column1,column2 FROM table_name WHERE column1=xx LIMIT 10;
5.1.2 去掉不必要的括号
((a AND b) AND c OR (((a AND b) AND (c AND d))))
修改成
(a AND b AND c) OR (a AND b AND c AND d)
示例:
5.1.3 去掉重叠常量
示例:
(a<b AND b=c) AND a=100
修改成 b>100 AND b=c AND a=100
5.1.4 因常量重叠而去除部分常量条件
示例:
(B>=100 AND B=100) OR (B=200 AND 100=100) OR (B=300 AND 100=200)
修改成 B=100 OR B=200
5.1.5 去掉无意义的筛选条件
示例:
1=1,2>1,1<2 等
修改成 这些无意义的筛选条件可以直接从 WHERE 子句中去掉。
5.1.6 多使用等值操作,少使用非等值操作
WHERE条件中的非等值条件(IN、BETWEEN、<、<=、>、>=)会导致后面的条件使用不
了索引,因为不能同时用到两个范围条件。
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞1
添加新评论1 条评论
2019-05-16 09:17