Гость
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Молчаливая PRAGMA schema.page_size / 7 сообщений из 7, страница 1 из 1
23.06.2016, 12:11
    #39260914
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Молчаливая PRAGMA schema.page_size
Привет всем.

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

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

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



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

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

А, например, так:
Создаю я пустую БД, размер страницы 65К, далее начинаю инсёртить по тихоньку туда записи... Как только место заканчивается в свободных областях, размер файла увеличивается. И проверил, что это теже 65К. Вроде работает
...
Рейтинг: 0 / 0
23.06.2016, 18:00
    #39261262
MrCat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Молчаливая PRAGMA schema.page_size
Предполагаю, после фактического изменения "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
23.06.2016, 18:04
    #39261266
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Молчаливая PRAGMA schema.page_size
В документации есть жирный хинт: http://sqlite.org/pragma.html#pragma_page_size
Установка этой прагмы сработает только в двух случаях - на абсолютно пустой базе или непосредственно перед vacuum. И только если WAL выключен.

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

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

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


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

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

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


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