konstantinkuklin / doctrine-compressed-fields
该库提供了将实体数据通过位掩码拆分到不同属性的功能。
dev-master
2017-08-30 17:58 UTC
Requires
- php: >=7.0
- doctrine/orm: ~2.4.0|~2.5.0
Requires (Dev)
- phpunit/phpunit: ^5.3|^6.0
This package is not auto-updated.
Last update: 2024-09-21 00:44:53 UTC
README
Doctrine Compressed Fields 是一个 库,允许通过位掩码将来自不同实体属性的数据存储在一个列中。
请勿在生产环境中使用!开发仍在进行中。
动机
有时我们需要存储简单的布尔值,如 true 或 false,我们使用 tinyint(1),这需要 1 字节(位)。
所以,如果有一个列!我们每次都会失去 7 位。想象一下,如果我们有每个 1k 行存储在 tinyint(1) 中的 1 个布尔元素,我们会失去 7k 位(700b = 0.68kb)。这里您可以找到如何在不丢失内存和硬盘空间的情况下存储数据的解决方案。
使用 composer 安装
在控制台执行
composer require konstantinkuklin/doctrine-compressed-fields
文档
- 进行中
运行测试
要运行测试,您需要 PHP 的 sqlite 扩展。在类 Unix 系统上,安装
php5-sqlite
在 Windows 上,通过在 php.ini 中取消注释以下行来启用扩展
extension = php_pdo_sqlite.dll
extension = php_sqlite3.dll
extension_dir = ext
从项目根目录运行测试
./vendor/bin/phpunit
在 Windows 上,从完整路径运行 phpunit
phpunit