esplora / spire
Laravel SQLite 数据库生产环境的简易工具
0.0.2
2024-03-26 23:59 UTC
Requires
- php: ^8.0
- ext-sqlite3: *
- laravel/framework: ^9.2|^10.0|^11.0
Requires (Dev)
- doctrine/dbal: ^3.1
- laravel/pint: ^1.2
- mockery/mockery: ^1.4.2
- orchestra/testbench-core: ^7.0|^8.0|^9.0
- phpunit/phpunit: ^9.0|^10.0|^11.0
README
Spire 是一个为 Laravel 设计的包,旨在提供针对优化生产环境中 SQLite 数据库的便捷工具。
安装
要将 Spire 安装到您的 Laravel 项目中,您可以使用 Composer
composer require esplora/spire
用法
安装后,您可以通过 Artisan CLI 使用 Spire 的命令。
命令
启用 WAL 日志
为了在 SQLite 数据库上启用 WAL 日志以提高性能
php artisan sqlite:wal-enable
启用 WAL 日志可以提高数据库并发性,减少竞争,并在高流量生产环境中提高数据库的整体性能。
优化数据库
通过运行 PRAGMA optimize 优化 SQLite 数据库
php artisan sqlite:optimize
此组合优化过程确保对数据库文件的全面优化,从而提高性能和有效利用存储。
运行 VACUUM
通过运行 VACUUM 优化 SQLite 数据库
php artisan sqlite:vacuum
VACUUM 重建数据库文件,回收未使用的磁盘空间,并通过优化存储利用率来帮助提高数据库性能。
计划
为了高效地进行数据库维护,强烈建议将这些命令之一作为 cron 作业进行调度。例如,您可以通过将 cron 作业添加到您的调度器来定期优化 SQLite 数据库
// Optimize SQLite database every minute, // see https://www.sqlite.org/pragma.html#pragma_optimize $schedule->command('sqlite:optimize')->everyMinute();