是否有任何優化可以幫助讓下列語句更快地執行並且不被標記爲「慢速」查詢?MySQL UNION語句緩慢查詢
SELECT id FROM equipment_acc_1 WHERE nick='Cutter29'
UNION ALL
SELECT id FROM equipment_acc_2 WHERE nick='Cutter29'
UNION ALL
SELECT id FROM equipment_gloves WHERE nick='Cutter29'
UNION ALL
SELECT id FROM equipment_head WHERE nick='Cutter29'
UNION ALL
SELECT id FROM equipment_pants WHERE nick='Cutter29'
UNION ALL
SELECT id FROM equipment_shoes WHERE nick='Cutter29'
UNION ALL
SELECT id FROM equipment_top WHERE nick='Cutter29'
UNION ALL
SELECT id FROM equipment_donation_skins WHERE nick='Cutter29'
UNION ALL
SELECT id FROM equipment_weapon WHERE nick='Cutter29';
所有在此查詢的表是完全一樣的,這裏有一個例子:
mysql> describe equipment_acc_1;
+----------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+----------+------+-----+---------+-------+
| nick | char(25) | NO | PRI | NULL | |
| id | int(11) | NO | MUL | NULL | |
| cooldown | datetime | NO | MUL | NULL | |
+----------+----------+------+-----+---------+-------+
3 rows in set (0.00 sec)
非常感謝提前!
我無法想象通過更改查詢來加速它的任何方式,但是如果您可以修改表定義,它可能有助於在每個表中的「尼克」字段上有一個INDEX ...哦,從不知道,我只是注意到它是主鍵(即已經編入索引) – Uueerdo
用於「id」字段的是什麼? – Uueerdo
@Uueerdo'id'字段在另一個查詢中用於從代碼中的'inventory'表中提取信息。 –