У меня есть 2 базы данных: localhost & remotehost. Кажется, что локальный хост работает хорошо и быстро получает мои результаты (до 1 секунды ... благодаря помощи с этой платы). Используя mysqldump, я удалял localhost на remotehost, включая структуру таблицы, индексы, данные &. Я ожидал, что remotehost будет виртуальной репликой localhost, но когда я запускаю свои запросы на remotehost, они берут> 1 минуту, чтобы выполнить. Операторы объяснения даже разные ... существует множество различий, в том числе изменение «типа» на «диапазон», а также используемый индекс.Те же базы данных, но разные объясняют результаты
(некоторые из этого, вероятно, может быть исправлена, заставляя его использовать первичный индекс, но я предпочел бы добраться до корня проблемы и понять, почему RemoteHOST ведет себя по-разному)
МОЕ ЗАЯВЛЕНИЕ:
SELECT names.id, names.first, addr.last FROM names, addr WHERE names.first LIKE 'H%' AND addr.last IS NOT NULL AND names.id = addr.id GROUP BY names.id LIMIT 10
EXPLAIN заявление от локального хоста:
id| select_type|table|type |possible_keys |key |key_len|ref |rows|Extra
1 | SIMPLE |names|index|PRIMARY,first |PRIMARY|4 |NULL |448 |Using where
1 | SIMPLE |addr |ref |last |last |4 |files.names.last |25 |Using where
EXPLAIN заявление от RemoteHOST:
id| select_type|table|type |possible_keys |key |key_len|ref |rows|Extra
1 | SIMPLE |names|range|PRIMARY,first |first |903 |NULL |955 |Using where; Using temporary; Using filesort
1 | SIMPLE |addr |ref |last |last |4 |files.names.last |25 |Using where
UPDATE:
Localhost is using mysql version 5.1.46-log.
Remotehost is using mysql version 5.0.91-log.
Голосование, чтобы перейти к ServerFault, поскольку это вопрос системного администрирования, а не вопрос программирования. –
, пожалуйста, не ... это вопрос mysql больше всего. На этой доске есть больше экспертов mysql. –
Сравните файлы my.cnf, чтобы убедиться, что на удаленном хосте что-то не так плохо сконфигурировано. Похоже, что вы уже проверили, но убедитесь, что есть индекс на addr.id на remotehost. Также попробуйте запустить «оптимизировать имена таблиц»; на удаленном хосте для обновления статистики. Вы не должны этого делать, но я не уверен, что еще предложить. –