2015-09-07 38 views
2
select id, name from myTable; 

哪一个是更快,为什么

select id, name from myTable where name like "%"; 

用MySQL优化第二个查询?

更新:myTable只有三列id(主键),名称和年龄。myTable中行的数量都在范围(5-10)k中。

如果我们在列“name”上创建索引,该怎么办?

+3

这可能取决于很多因素(架构,条目#,服务器,MySQL-conf的..)我将投票关闭你的问题,虽然这是一个有趣的话题。但是,它太宽泛了,你提供了很少的关于你自己的基准测试的信息,表格是怎么样的等等。 – Felix

+1

知道什么马更快的最好方法。 '把两个都放在赛道上。意思是做你的测试,用查询'分析器' –

+3

我不认为两者都是一样的。第二个查询将消除NULL值 –

回答

0

我认为第二个查询的执行速度会更快。
按照执行查询的顺序WHERE子句在选择之前。所以,如果你使用的地方,它会过滤不。的记录。当选择将在其上工作时,选择将更快地工作(特别是当您在数据库中有大量数据时)。

参考:
What is the order of execution for this SQL statement