Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
Есть база MySQL которая лежит на локальном сервере. В этой базе создаю ссылку на удаленную таблицу webSMS с помощью движка FEDERATED. Все работает отлично.
-------------------------------------------------------------------------
Создаю запрос к прилинкованной таблице:
SELECT *
FROM `webSMS`
LIMIT 0 , 30
Отображает строки 0 - 1 (2 всего, запрос занял 0.2713 сек.) Все супер...
-------------------------------------------------------------------------
Далее, создаю запрос в локальной таблице:
SELECT *
FROM `localUsers`
LIMIT 0 , 30
Отображает строки 0 - 29 (307 всего, запрос занял 0.0011 сек.) Тоже все гуд...
-------------------------------------------------------------------------
Теперь создаю запрос к обем таблицам:
SELECT localUsers.NameCustomer, webSMS.number, webSMS.status, webSMS.id
FROM localUsers
INNER JOIN webSMS ON localUsers.id = webSMS.user_id
LIMIT 0 , 30
результат запроса:
Отображает строки 0 - 1 (2 всего, запрос занял 45.2847 сек.!!!!)
Вопрос, ПОЧЕМУ ТАК ДОЛГО ВЫПОЛНЯЕТСЯ ЗАПРОС!!!!!!!!!???????????
--------------------------------------------------------------------------
Неактивен
Попробуйте явно указать порядок использования таблиц:
SELECT SQL_STRAIGHT_JOIN ... FROM webSMS JOIN localUSERS ...
Оптимизатор не умеет хорошо оценивать скорость работы сетевого
хранилища, и поэтому лучше ставить сначала полнотекстовый скан
по нему (один раз достать по сети), а потом присоединять локальные
данные, вместо того, чтобы достать локальные данные и на каждую
строку доставать полный скан сетевой таблички.
Неактивен
написал запрос следующим образом:
---------------------------------------------------------------------------------------------
SELECT STRAIGHT_JOIN localUsers.NameCustomer, webSMS.number, webSMS.status, webSMS.id
FROM webSMS
INNER JOIN localUsers ON webSMS.user_id = localUsers.id
LIMIT 0 , 30
--------------------------------------------------------------------------------------------
Отображает строки 0 - 2 (3 всего, запрос занял 0.6445 сек.) Все отлично работает!!!!!!!!!!
Спасибо о наимудрейший paulus!!!
Неактивен
Страниц: 1