Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Оптимизация тяжелого запроса / 3 сообщений из 3, страница 1 из 1
11.10.2017, 15:00
    #39534755
Portreter
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация тяжелого запроса
Здравствуйте!
В таблице БД около 10 млн. записей, два индекса.
В скрипте перебирается вся таблица, $st постоянно увеличивается на 30000
Запрос SELECT * FROM table1 JOIN (SELECT id FROM table1 ORDER BY id LIMIT $st, 30000) as b ON b.id = table1.id; очень долго выполняется. Посоветуйте, пожалуйста, что можно сделать для его оптимизации?
...
Рейтинг: 0 / 0
11.10.2017, 16:01
    #39534808
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация тяжелого запроса
Portreter,

прочитать как именно выполняется offset. Ужаснуться. Не использовать offset.
Запоминайте последний встреченный id и запрашивайте следующий кусок от where id > ?
...
Рейтинг: 0 / 0
11.10.2017, 21:27
    #39535045
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация тяжелого запроса
PortreterВ скрипте перебирается вся таблица, $st постоянно увеличивается на 30000Зачем? почему не сразу за один проход? Тогда не понадобится LIMIT $st, 30000 с его накладными расходами.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Оптимизация тяжелого запроса / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]