Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 选择订购地点_Mysql_Sql_Where - Fatal编程技术网

Mysql 选择订购地点

Mysql 选择订购地点,mysql,sql,where,Mysql,Sql,Where,这两个SELECT子句之间有什么区别吗 (1)SELECT * from DB where key1="XXX" and key2="yyy" and (2)SELECT * from DB where key2="yyy" and key1="XXX" 我已经为这两个键创建了一个索引,key1是主键 另外,我是否可以强制MySQL引擎使用index2(对于键2)而不是index1?否,任何一个像样的数据库查询优化程序都会确保按照它认为最合适的顺序执行where子句。它还将尝试简化或以

这两个SELECT子句之间有什么区别吗

(1)SELECT * from DB where key1="XXX" and key2="yyy"

and 

(2)SELECT * from DB where  key2="yyy" and key1="XXX"
我已经为这两个键创建了一个索引,key1是主键


另外,我是否可以强制MySQL引擎使用index2(对于键2)而不是index1?

否,任何一个像样的数据库查询优化程序都会确保按照它认为最合适的顺序执行where子句。它还将尝试简化或以其他方式重写布尔表达式,如果它可能导致更好的执行计划

通常,您正在编写的SQL并没有指定具体的执行方式,而是由数据库来决定。通常的工作方式是通过特定规则解析、简化查询,然后将其逻辑表示转换为多个物理执行计划。这些计划与基于启发式和表上统计数据的成本估算相关联。然后选择成本最低的计划。

可能重复的