Есть ли какие-либо оптимизации, которые можно сделать, чтобы помочь быстрее выполнить следующий оператор и не быть помеченным как «медленный» запрос?Заявление MySQL UNION Slow Query
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)
Большое спасибо заранее!
Я не могу представить способ ускорить его, изменив запрос, но если вы можете изменить определения таблиц, это, вероятно, поможет иметь ИНДЕКС в поле «ник» в каждой таблице ... oh, nevermind , Я просто заметил, что это первичный ключ (т. Е. Уже проиндексированный) – Uueerdo
В чем используется поле 'id'? – Uueerdo
@Uueerdo Поле 'id' используется в другом запросе для получения информации из таблицы« inventory »далее в коде. –