“where”条件是否会影响 select mysql 中的速度?
Do 'where` conditions count affect select speed in mysql?
有一个 mysql 人 table 如下所示。 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 速度吗?
例如哪个更快?
Select * From Person Where age > 30
或
Select * from Person Where age > 20 AND city = 'London' AND name = 'John' AND branch = 'doctor' AND ...
你能告诉我哪一个会更快吗?
没有索引,任何 WHERE
子句都会导致 table 扫描。也就是说,为了满足查询,服务器必须检查 table 中的每一行。因此,您所显示的搜索操作的顺序彼此相同。
从 MySQL 服务器向客户端发送大型结果集也需要时间。结果集中较少的行可以更快地满足您的查询。
专业提示:在处理超过 100 行长的 table 时避免 SELECT *。而是提供您实际需要的列的名称。
有一个 mysql 人 table 如下所示。 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 速度吗?
例如哪个更快?
Select * From Person Where age > 30
或
Select * from Person Where age > 20 AND city = 'London' AND name = 'John' AND branch = 'doctor' AND ...
你能告诉我哪一个会更快吗?
没有索引,任何 WHERE
子句都会导致 table 扫描。也就是说,为了满足查询,服务器必须检查 table 中的每一行。因此,您所显示的搜索操作的顺序彼此相同。
从 MySQL 服务器向客户端发送大型结果集也需要时间。结果集中较少的行可以更快地满足您的查询。
专业提示:在处理超过 100 行长的 table 时避免 SELECT *。而是提供您实际需要的列的名称。