Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
Как убить запись во flatfile?
Новая тема
Ответить
цитата
07/11/08 в 13:05
borgivan
Здравствуйте. Скажите пожалуйста. При использовании функции
dba_delete()
при работе с flatfile удаление из файла происходит, но чисто "формально", сама запись остается, только помечается как удаленная. Тоже самое и при использовании
dba_insert()
. В результате скрипт, который при каждом запуске должен выдерать значение из базы, менять его и перезаписывать обратно в базу, тупо наращивает объем базы. То есть размер увеличивается при каждом запуске, вытаскиваемое значение помечается как удаленное, а в конец файла добавляется новая запись((( Как решить проблему? Использовать другой тип базы? В общем помогите пожалуйста разобраться!
цитата
07/11/08 в 13:13
Stek
dba_optimize() используй
цитата
07/11/08 в 13:44
TRUE_AND_FALSE
чет не понял, делет- инсерт, а упдате не легче использовать?
цитата
07/11/08 в 13:49
TRUE_AND_FALSE
dba_replace
(PHP 3>= 3.0.8, PHP 4)
dba_replace - замещает или вставляет вхождение.
Описание
bool dba_replace (string key, string value, resource handle)
dba_replace() замещает или вставляет вхождение, описанное key и value в БД handle.
key это ключ вставляемого вхождения.
value это вставляемое значение.
handle это дескриптор БД, возвращаемый функцией dba_open().
dba_replace() возвращает TRUE или FALSE, в зависимости от успеха или неудачи, соответственно.
цитата
07/11/08 в 13:55
borgivan
Stek писал:
dba_optimize() используй
Что то оно не помогает (
Код:
$dataBase = dba_open("databases/execution.db", "w", "flatfile");
$execTimeArray = unserialize(dba_fetch(0, $dataBase));
...
Тут идет обработка массива замудренного...
...
dba_replace(0, serialize($execTimeArray), $dataBase);
dba_optimize($dataBase);
dba_close($dataBase);
Исходная база:
Код:
1
01893
a:24:{i:0;a:2:{i:0;a:3:{i:0;i:0;i:1;i:1;i:2;i:0;}i:1;a:3:{i:0;i:0;i:1;i:1;i:2;i:0;}}i:1;a:2:{i:0;a:3:
..........
{i:0;i:0;i:1;i:1;i:2;i:0;}}i:23;a:2:{i:0;a:3:{i:0;i:0;i:1;i:1;i:2;i:0;}i:1;a:3:{i:0;i:0;i:1;i:1;i:2;i:0;}}}
После выполнения скрипта:
Код:
1
ъ
1893
a:24:{i:0;a:2:{i:0;a:3:{i:0;i:0;i:1;i:1;i:2;i:0;}i:1;a:3:{i:0;i:0;i:1;i:1;i:2;i:0;}}i:1;a:2:{i:0;a:3:
..........
{i:0;i:0;i:1;i:1;i:2;i:0;}}i:23;a:2:{i:0;a:3:{i:0;i:0;i:1;i:1;i:2;i:0;}i:1;a:3:{i:0;i:0;i:1;i:1;i:2;i:0;}}}1
01894
a:24:{i:0;a:2:{i:0;a:3:{i:0;i:0;i:1;i:1;i:2;i:0;}i:1;a:3:{i:0;i:0;i:1;i:1;i:2;i:0;}}i:1;a:2:{i:0;a:3:
..........
{i:0;i:0;i:1;i:1;i:2;i:0;}}i:23;a:2:{i:0;a:3:{i:0;i:0;i:1;i:1;i:2;i:0;}i:1;a:3:{i:0;i:0;i:1;i:1;i:2;i:0;}}}
Может я не так как то использую?
Новая тема
Ответить
Эта страница в полной версии