小编San*_*osh的帖子

MYSQL - 具有多个 OR 条件的选择查询很慢

我有一个超过 200 万行的表,我需要在循环中快速对其进行选择查询。

SELECT ID,WebSite FROM `CompanyData` WHERE A1='data1' OR A2='data2' OR A3='data3'
Run Code Online (Sandbox Code Playgroud)

它需要 300 毫秒。我觉得不应该花这么多时间。这是该查询的 EXPLAIN:

--------+---------------------------------------------------------------------------------------------------------------------------+
| id | select_type | table    | type  | possible_keys  | key      |  key_len    | ref  | rows  | Extra                              |
+----+-------------+----------+-------+---------------+------+---------+------+---------+-------------------------------------------+
|  1 | SIMPLE     | CompanyData | index | A1,A2,A3     | A1,A2,A3 | 153,153,153 | NULL | 3     | Using union(A1,A2,A3); Using where |
+----+-------------+----------+-------+---------------+------+---------+------+---------+-------------------------------------------+
Run Code Online (Sandbox Code Playgroud)

这是表结构:

CREATE TABLE `CompanyData` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `WebSite` varchar(150) DEFAULT NULL,
  `CompanyName` …
Run Code Online (Sandbox Code Playgroud)

mysql optimization select

2
推荐指数
1
解决办法
1447
查看次数

标签 统计

mysql ×1

optimization ×1

select ×1