laravel mysql optimize
[L8] Upgrade
优化MySQL数据库表的Laravel软件包。
优化表语句用于重组表并压实所有浪费的空间。重组的桌子需要更少的磁盘I/O才能执行全表扫描。
优化表复制表的数据部分并重建索引。好处来自索引中数据的改善,以及在表空间和磁盘上减少碎片化。好处取决于每个表中的数据。您可能会发现某些而不是其他人的收益显着,或者随着时间的推移收益下降,直到您下次优化桌子。如果桌子较大,或者重建的索引不适合缓冲池,则此操作可能会很慢。将大量数据添加到表之后的第一次运行通常比以后的运行慢得多。
有关更多详细信息,请阅读有关优化技术的MySQL网站。
通过作曲家
$ composer require zakriyarahman/laravel-mysql-optimize
该软件包提供默认配置变量。将配置发布到您的存储库中以进行自定义配置。数据库的默认设置设置为环境DB_DATABASE
变量。
$ artisan vendor:publish --provider= " ZaksMySQLOptimierServiceProvider " --tag=config
使用可选数据库和表/s优化数据库表。
$ artisan db:optimize --database={DATABASE} --table={table[]}
使用该数据库中的所有表优化默认数据库(在软件包的配置中定义)。将软件包配置发布到更改Defualt数据库设置。
$ artisan db:optimize
优化与默认数据库配置分开的自定义数据库。
$ artisan db:optimize --database=database_test
仅优化一组表。
$ artisan db:optimize --table=table_1 --table=table_2
当不存在诸如表格或数据库之类的参数时,会引发异常。
Zaks MySQLOptimier Exceptions DatabaseNotFoundException
Zaks MySQLOptimier Exceptions TableNotFoundException
$ composer test
请在此处查看许可证
有关详细信息,请参见贡献和code_of_conduct。
请遵循以下指南和代码标准: