konstantinkuklin/doctrine-compressed-fields

该库提供了将实体数据通过位掩码拆分到不同属性的功能。

dev-master 2017-08-30 17:58 UTC

This package is not auto-updated.

Last update: 2024-09-21 00:44:53 UTC


README

Doctrine Compressed Fields 是一个 ,允许通过位掩码将来自不同实体属性的数据存储在一个列中。

Build Status GitHub release Scrutinizer Code Quality Code Coverage Minimum PHP Version License

请勿在生产环境中使用!开发仍在进行中。

动机

有时我们需要存储简单的布尔值,如 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