После большой работы я, наконец, получил довольно сложный запрос, который работал очень плавно и очень быстро возвращал результаты.
Он хорошо работал как на dev, так и на тестировании, но теперь тестирование значительно замедлилось.
Запрос объяснения, который занимал 0,06 секунды в dev и был примерно таким же в тестировании, теперь занимает 7 секунд в тестировании.
Объяснения немного отличаются, и я не уверен, почему это будет
Объяснение от dev
-+---------+------------------------------+------+------------------------------
---+
| id | select_type | table | type | possible_keys | key
| key_len | ref | rows | Extra
|
+----+-------------+------------+--------+-------------------------+------------
-+---------+------------------------------+------+------------------------------
---+
| 1 | PRIMARY | | ALL | NULL | NULL
| NULL | NULL | 5 |
|
| 1 | PRIMARY | tickets | ref | biddate_idx | biddate_idx
| 7 | showsdate.bid,showsdate.date | 78 |
|
| 2 | DERIVED | shows | ALL | biddate_idx,latlong_idx | NULL
| NULL | NULL | 3089 | Using temporary; Using fileso
rt |
| 2 | DERIVED | genres | ref | bandid_idx | bandid_idx
| 4 | activehw.shows.bid | 2 | Using index
|
| 2 | DERIVED | artists | eq_ref | bid_idx | bid_idx
| 4 | activehw.genres.bid | 1 | Using where
|
+----+-------------+------------+--------+-------------------------+------------
и в тестировании
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+------------+--------+-------------------------+-------------+---------+------------------------------+--------+----------------------------------------------+
| 1 | PRIMARY | | ALL | NULL | NULL | NULL | NULL | 5 | |
| 1 | PRIMARY | tickets | ref | biddate_idx | biddate_idx | 7 | showsdate.bid,showsdate.date | 78 | |
| 2 | DERIVED | genres | index | bandid_idx | bandid_idx | 139 | NULL | 531281 | Using index; Using temporary; Using filesort |
| 2 | DERIVED | artists | eq_ref | bid_idx | bid_idx | 4 | activeHW.genres.bid | 1 | |
| 2 | DERIVED | shows | eq_ref | biddate_idx,latlong_idx | biddate_idx | 7 | activeHW.artists.bid | 1 | Using where |
+----+-------------+------------+--------+-------------------------+-------------+---------+------------------------------+--------+----------------------------------------------+
5 rows in set (6.99 sec)
Порядок таблиц отличается, хотя запросы абсолютно одинаковы.
Это может вызвать замедление? если так, как бы я это исправить?
Девайс - окна, тестирование - центы.
обе работали с одной и той же версией mysql 5.0, и, как я уже сказал, тестирование прошло отлично, и я не внес никаких структурных изменений в базу данных.
Я запустил mysqlcheck, и все таблицы вернулись в порядке.