powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / SQLite [игнор отключен] [закрыт для гостей] / оптимизация с limit/offset?
3 сообщений из 3, страница 1 из 1
оптимизация с limit/offset?
    #39982782
bb8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bb8
Гость
у меня такой запрос:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
select view1.a, view1.b, tbl1.c. tbl1.d
from ...
join ... on ...
join ... on ...
join ... on ...
where view1.a > 0 and view1.b > 0
order by view1.a, view1.b

union all

select view2.a, view2.b, tbl2.c. tbl2.d
from ...
join ... on ...
join ... on ...
join ... on ...
where view2.a > 0 and view2.b > 0
order by view2.a, view2.b



он работает, но медленно когда количество строк много 100000
я думала использобать LIMIT в запросе, например 200.

но все равно запрос выполняeтся в тем времени, как без LIMITа.
оказывается, что с LIMITом весь запрос выполняeтся, потом offset количества трок отбрасываются, а потом limit количества строк возвращaются.

рекомендуется использовать where, запомнить последний использованный ID и потом получать результаты, начиная с того ID.

проблема в том, что view.a и view.b не всегда начнаются с 0/1, и мне никак получить последний использованный ID
...
Рейтинг: 0 / 0
оптимизация с limit/offset?
    #39983215
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А клиент на что?
Делаем начальную (самую начальную) выборку - получаем ID. Если "самая начальная" выборка это слишком сложно, то просто берем любой ID который есть. Запоминаем его в отдельной таблице или на клиенте и в следующий раз используем, при каждом использовании обновляем.
Все просто.

Но вообще, если запрос тормозит - надо смотреть на индексы. Сто тысяч строк это мелочи, если на таких объемах чувствуется торможение, то явно что-то очень не правильно в индексах и самом запросе.
...
Рейтинг: 0 / 0
оптимизация с limit/offset?
    #39983559
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl,
может два отдельных запроса без юнион сделать?
Мне вообще эта идея с лимит - офсет на юнионе сомнительной кажется.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / оптимизация с limit/offset?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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