После долгой работы я, наконец, получил довольно сложный запрос, чтобы работать очень сглаженно и быстро возвращать результаты.mysql объясняет разные результаты на разных серверах, тот же запрос, тот же самый db
Он хорошо работал на обоих устройствах и тестировал, но теперь тестирование значительно замедлилось. Объяснение запроса, которое занимает 0.06 секунд на dev и было примерно таким же при тестировании, теперь тестируется на 7 секунд.
объясняет немного отличаются, и я не знаю, почему это было бы Explain, от разработчика
-+---------+------------------------------+------+------------------------------ ---+ | 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)
Порядок таблиц отличается , хотя запросы в точности совпадают. Является ли это причиной замедления? если да, то как мне это исправить? Dev - это окна, тестирование - centOs. обе работают с той же версией mysql 5.0, и, как я уже сказал, тестирование отлично работает, и я не внес никаких структурных изменений в базу данных.
Я запустил mysqlcheck, и все столы вернулись.
Если вы используете Windows, а другой - Linux, они вряд ли совпадают ... –