It doesn't work. I guess the _automaticVacuum() method should read:
private function _automaticVacuum()
{
if ( ! $this->_options['automaticVacuumFactor'] )
return;
//
$rand = 1; // Default init for 'automaticVacuumFactor' = 1
//
if ($this->_options['automaticVacuumFactor'] > 1)
$rand = rand(1, $this->_options['automaticVacuumFactor']);
//
if ($rand == 1)
@sqlite_query($this->_db, 'VACUUM');
}
Regards,
On 11/4/06, Shekar C Reddy <[EMAIL PROTECTED]> wrote:
I wasn't aware you had fixed this issue. I'm gonna hvae to try it out from SVN. But I currently have no way to test in a multi-user/heavy-load environment. The documentation on VACUUM states it fails if there is an active transaction but states it differently on PRAGMA VACUUM.
Thanks,
On 11/4/06, Fabien MARTY (JIRA) <[EMAIL PROTECTED]
> wrote:
|
|
|
| The following comment has been added to this issue: |
[ Permlink ] |
|
Author: Fabien MARTY Date:
04/Nov/06 03:59 AM Comment:
no news ?
| |
| Project: |
Zend Framework |
| Components: |
Zend_Cache |
| Affects Versions: |
0.1.5 | |
|
The SQLite backend needs to cleanup the database to recover wasted space and address structure/data fragmentation issues. The automaticCleaningFactor > 0 leaves the database size the same even after all the rows are deleted from the cache table. Inserts and deletes can leave the database file structure fragmented, which slows down disk access to the database contents. For > 100 rows, this results in a large file size that gets accessed for every page load. Use VACUUM or PRAGMA auto_vacuum to address this situation:
http://www.sqlite.org/lang_vacuum.html
http://www.sqlite.org/pragma.html#pragma_auto_vacuum
![]()
VACUUM could be offered as an additional configuration option (ALONG WITH AN AUTOMATIC-VACUUMING-FACTOR OPTION , if possible
Thanks, | |
| |
![]() |