powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Молчаливая PRAGMA schema.page_size
7 сообщений из 7, страница 1 из 1
Молчаливая PRAGMA schema.page_size
    #39260914
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем.

Необходимо изменить дефолтный page_size (1024) на альтернативные (512, 2048) и посмотреть
как это влияет на I/O.

Сделал перед созданием таблички

Код: sql
1.
PRAGMA mayton.page_size = 512;



Но нет сообщения об успехе или ошибки. Пробовал ставить некорректные значения и тоже нет эффекта.

Как проверить что прагма сработала? Или принята?
...
Рейтинг: 0 / 0
Молчаливая PRAGMA schema.page_size
    #39260935
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

А, например, так:
Создаю я пустую БД, размер страницы 65К, далее начинаю инсёртить по тихоньку туда записи... Как только место заканчивается в свободных областях, размер файла увеличивается. И проверил, что это теже 65К. Вроде работает
...
Рейтинг: 0 / 0
Молчаливая PRAGMA schema.page_size
    #39261262
MrCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Предполагаю, после фактического изменения "PRAGMA mayton.page_size;" должен вернуть 512. Как пишет справка, " The page_size pragma will only cause an immediate change in the page size if it is issued while the database is still empty ", но это у меня повторить не получилось, на пустой БД из-под SqliteBrowser PRAGMA не отработала, page_size остался дефолтным.

А вот это: " If the page_size pragma is used to specify a new page size just prior to running the VACUUM command and if the database is not in WAL journal mode then VACUUM will change the page size to the new value. " отработало как надо.
...
Рейтинг: 0 / 0
Молчаливая PRAGMA schema.page_size
    #39261266
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В документации есть жирный хинт: http://sqlite.org/pragma.html#pragma_page_size
Установка этой прагмы сработает только в двух случаях - на абсолютно пустой базе или непосредственно перед vacuum. И только если WAL выключен.

Отсюда: выключаем WAL если он включен, ставим размер страницы, пылесосим базу, меряем ИО. Ставим новый размер, пылесосим меряем... повторять до полного удовлетворения.

Но все начинается с чтения документации :)
...
Рейтинг: 0 / 0
Молчаливая PRAGMA schema.page_size
    #39261267
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все разобрался. По крайней мере sqlite_analyzer мне показывает page_size.

Спасибо.
...
Рейтинг: 0 / 0
Молчаливая PRAGMA schema.page_size
    #39261695
Фотография PPA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonПривет всем.
Необходимо изменить дефолтный page_size (1024) на альтернативные (512, 2048) и посмотреть
как это влияет на I/O.


Покажешь потом условия и результаты тестов?
...
Рейтинг: 0 / 0
Молчаливая PRAGMA schema.page_size
    #39261700
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть огромное коммерческое Java-app которое где-то в недрах даёт команду
statement.execute("PRAGMA schema.page_size = {size}"); и мне надо
было просто посмотреть аффектит ли эта команда на размер
страницы или нет.

Я подтвердил. Через sqllite_analyzer <databasefile>. Больше ничего
показать не могу т.к. обязан не разглашать имена, названия e.t.c
а отбеливанием отчотов заниматься мне совершенно некогда.

Так что sorry. Ну я думаю что вы и сами это сделаете легко.
Не кодинг ведь.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Молчаливая PRAGMA schema.page_size
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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