2
select id, name from myTable;
select id, name from myTable where name like "%";
用MySQL优化第二个查询?
更新:myTable只有三列id(主键),名称和年龄。myTable中行的数量都在范围(5-10)k中。
如果我们在列“name”上创建索引,该怎么办?
select id, name from myTable;
select id, name from myTable where name like "%";
用MySQL优化第二个查询?
更新:myTable只有三列id(主键),名称和年龄。myTable中行的数量都在范围(5-10)k中。
如果我们在列“name”上创建索引,该怎么办?
我认为第二个查询的执行速度会更快。
按照执行查询的顺序WHERE
子句在选择之前。所以,如果你使用的地方,它会过滤不。的记录。当选择将在其上工作时,选择将更快地工作(特别是当您在数据库中有大量数据时)。
参考:
What is the order of execution for this SQL statement
这可能取决于很多因素(架构,条目#,服务器,MySQL-conf的..)我将投票关闭你的问题,虽然这是一个有趣的话题。但是,它太宽泛了,你提供了很少的关于你自己的基准测试的信息,表格是怎么样的等等。 – Felix
知道什么马更快的最好方法。 '把两个都放在赛道上。意思是做你的测试,用查询'分析器' –
我不认为两者都是一样的。第二个查询将消除NULL值 –