【问题标题】:Do 'where` conditions count affect select speed in mysql?'where'条件计数会影响mysql中的选择速度吗?
【发布时间】:2015-09-07 10:42:37
【问题描述】:

下面有一个 mysql Person 表。 id 是主要的,索引的。但是其他列没有被索引..

id         name         surname         age          city          branch
1          John         Black           34           London        driver
2          Lara         Croft           28           New York      teacher
3          Ahmad        Hasan           41           Doha          doctor
...
1000.000...... 

我的问题是,当我使用具有多个条件的 where 子句执行 select 查询时,它会降低选择速度吗?
例如哪个更快?

Select * From Person Where age > 30

Select * from Person Where age > 20 AND city = 'London' AND name = 'John' AND branch = 'doctor' AND ...

你能告诉我哪个更快吗?

【问题讨论】:

  • 根据您的数据和索引,如果可以使用更好的索引,后一种可能会更快。

标签: mysql select where query-performance


【解决方案1】:

没有索引,任何WHERE 子句都会导致表扫描。也就是说,为了满足查询,服务器必须检查表中的每一行。因此,您显示的搜索操作的顺序是彼此相同的。

将大型结果集从 MySQL 服务器发送到客户端也需要时间。结果集中更少的行可以更快地满足您的查询。

专业提示:在处理超过 100 行长度的表时避免使用 SELECT *。而是给出您实际需要的列的名称。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-22
    • 1970-01-01
    • 1970-01-01
    • 2019-05-08
    • 2013-01-23
    • 1970-01-01
    相关资源
    最近更新 更多