Гость
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Вытираю строки, база не уменьшается / 11 сообщений из 11, страница 1 из 1
01.12.2016, 14:56
    #39358523
Ilia Bolshakov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытираю строки, база не уменьшается
Всем привет.

запускаю на базе вот такой код

PRAGMA foreign_keys = ON;
delete from `Visit` where date < (11644041600 - 3600 * 24 * 300 + strftime('%s','now')) * 10000000;
PRAGMA temp_store = 1;
vacuum;

послеотработки огромное количество данных отрезается, но размер базы не уменьшается.
Что не так делаю ?

Спасибо
...
Рейтинг: 0 / 0
01.12.2016, 15:10
    #39358536
Ilia Bolshakov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытираю строки, база не уменьшается
Итак проблема в том что не отрабатывает Vacuum
У меня база 100 гиг. На винте места еще 200 гиг.
После запуска vaciuum процесс sqlite начинает жрать память, и при достижении 2 гигабайт, процесс вылетает.

Попробовал перед vacuum поставить

PRAGMA temp_store = 1;

теоретически тогда будет не в памяти делать дамп а на диске - сделал, запустил та же история: процесс жрет память и вылетает..
...
Рейтинг: 0 / 0
01.12.2016, 15:20
    #39358549
Ilia Bolshakov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытираю строки, база не уменьшается
и даже так

PRAGMA synchronous=OFF;
PRAGMA journal_mode=OFF;
PRAGMA temp_store=DISK;
PRAGMA temp_store = 1;
vacuum;

не прокатило :(
...
Рейтинг: 0 / 0
01.12.2016, 16:07
    #39358600
PPA
PPA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытираю строки, база не уменьшается
Ilia Bolshakov,

У меня вот так работает:

.timer ON
.echo ON
pragma count_changes=1;
pragma journal_mode=OFF;
delete from ...
REINDEX;
VACUUM;
pragma journal_mode=WAL;
.exit

но база всего 14 гиг.

Вылет на 2 гигах - 32 битная система?
попробуй сделать это на хосте с 64 битным sqlite
...
Рейтинг: 0 / 0
01.12.2016, 16:37
    #39358639
Ilia Bolshakov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытираю строки, база не уменьшается
не, система 64 битная с 4 гигами. А вот sqlite версии 64 битный не нашел, на офсайте для 64 бит есть только DLL а в утилитах только 1 версия sqlite3.exe
и судя по этому посту

http://sqlite.1065341.n5.nabble.com/64-bit-SQLite3-exe-td90771.html

какойто чел тоже просил 64 битную сборку, я стока текста не осилил, но там ему говорят сам собери :)
...
Рейтинг: 0 / 0
01.12.2016, 16:44
    #39358649
Ilia Bolshakov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытираю строки, база не уменьшается
Я не думаю что 64 битка поможет - если вылетает на 2х гигах, ну вылетит на 4х.
...
Рейтинг: 0 / 0
01.12.2016, 17:34
    #39358734
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытираю строки, база не уменьшается
64-разрядная версия залезет в своп, но не вылетит.
А если не хватило гига с четвертью, то даже в своп не залезет.
...
Рейтинг: 0 / 0
01.12.2016, 20:23
    #39358900
PPA
PPA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытираю строки, база не уменьшается
Ilia Bolshakov какойто чел тоже просил 64 битную сборку, я стока текста не осилил, но там ему говорят сам собери :)

Качаешь тут сорцы. http://sqlite.org/download.html
и собираешь в VC++2015 вот таким батником

call "%VS140COMNTOOLS%\..\..\VC\bin\amd64\vcvars64.bat"
cl /D _CONSOLE /W4 /O2 shell.c sqlite3.c -Fesqlite3-x64.exe

если студия другой версии - меняешь только VS140 на нужное.

Q:\vc15\r5xx\client\sqlite>call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\\..\..\VC\bin\amd64\vcvars64.bat"

Q:\vc15\r5xx\client\sqlite>cl /D _CONSOLE /W4 /O2 shell.c sqlite3.c -Fesqlite3-x64.exe
Microsoft (R) C/C++ Optimizing Compiler Version 19.00.24215.1 for x64
Copyright (C) Microsoft Corporation. All rights reserved.

shell.c
sqlite3.c
Generating Code...
Microsoft (R) Incremental Linker Version 14.00.24215.1
Copyright (C) Microsoft Corporation. All rights reserved.

/out:sqlite3-x64.exe
shell.obj
sqlite3.obj
...
Рейтинг: 0 / 0
02.12.2016, 16:53
    #39359513
Ilia Bolshakov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытираю строки, база не уменьшается
не могу понять, ведь ктото уже не раз собирал 64 битную версию, почему бы ее не выложить, а надо каждый раз заставлять бедного пользователя ставить VC и шаманить, какой в этом тайный смысл ? :)
...
Рейтинг: 0 / 0
03.12.2016, 10:54
    #39359808
PPA
PPA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытираю строки, база не уменьшается
Ilia Bolshakov,

Просто не все рискнут запускать собранный непонятно кем левый exe на своей боевой базе.
на сайте sqlite публикуют sha1 даже исходного кода.

Сборку выложить не проблема
https://yadi.sk/d/4rOTjMxo325KZz
только что собрал и подписал exe - вирусов нет :)
...
Рейтинг: 0 / 0
05.12.2016, 17:57
    #39360754
Ilia Bolshakov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытираю строки, база не уменьшается
PPA,

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


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