MySQL Internals Optimizer
)函数。或/sql/sql_select.cc,propagate_cond_constants()函数。
剔除死代码
WHERE 0=0 AND column1=''y''
总是FLASE的条件也会发生语句转化,如: WHERE (0 = AND s1 = OR s1 = 7
还有一些情况下,当WHERE语句中代表不可能的条件,查询优化器可能会全部剔除语句,如下: WHERE (0 = AND s1 = 5)
如果一个字段不能为NULL,优化器会剔除所有不相关的IS NULL的条件,这样 WHERE not_null_column IS NULL
优化器不会检查所有的Impossible WHERE的条件,因为这方面可能性太多了。例如:
可合并的常数值
WHERE column1 = 1 + 2
常数值和常数表 MySQL常数值,有时不单单指在查询的SQL语句的字面意思上,也可在常数表(constant tables)的内容里。常数表(constant tables)被定义为: 1。无记录或一条记录的表
... PRIMARY KEY (column1,column2)
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |