powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Отключение КЭШа на период оптимизации запросов
3 сообщений из 3, страница 1 из 1
Отключение КЭШа на период оптимизации запросов
    #39990919
zhirnov.ilya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго дня.

Выполняю работу по оптимизации запросов к базе (изучаю планы запросов, строю индексы, в общем, как обычно) и вот на что наткнулся:

Некий запрос тащит большое количество столбцов но каждый раз скорость выполнения разная. Причина в КЭШе. То есть первый раз долго а потом быстро.

Так вот не пойму как отключить использование этого КЭШа на период отладки.

Пробовал PRAGMA cache_size = 0;
Признак вроде превращается в 0 но делу это не помогает, а каждый раз вакуумить базу весом в 15 Гб долго.

Заранее спасибо.

Зы: как я понял в sqlite нельзя сделать include поля в индексах (как в MSSQL)?
Зы2: есть какие либо настройки чтобы EXPLAIN QUERY PLAN <запрос> показал чуть больше данных? (Может время операции, процент) или это надо смотреть именно в EXPLAIN <запрос>?

И ещё большее заранее спасибо :)
...
Рейтинг: 0 / 0
Отключение КЭШа на период оптимизации запросов
    #39990926
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отключением кэша ты проблему не решишь, разве что медленнее станет, т.к. данные сначала в кэш читаются - затем оттуда обрабатываются. Вакуум тоже не должен никак помогать, хотя при интенсивных удалениях немного поможет.

Запросы оптимизируются добавлением индексов. Индекс позволяет выбрать только нужные данные, а не тупо сканировать всю таблицу. Что-то конкретнее сложно сказать не видя запроса и структуры используемых таблиц.
...
Рейтинг: 0 / 0
Отключение КЭШа на период оптимизации запросов
    #39993375
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
когда то крутил SQLite базы на CD\DVD дисках и там вопрос оптимизации стоял очень остро, фокус в том, что кэрирование происходит не только на уровне СУБД, но и на уровне Windows, она кэширует данные с дисков. Вопрос решался какой то тулой для "оптимизации" памяти, которая сносила этот системный кэш. попробуйте глянуть в этом направлении
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Отключение КЭШа на период оптимизации запросов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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