哪个检索和设置更快?

时间:2013-06-19 18:25:43

标签: mysql sql entity-framework

从SQL或MySql数据库中检索哪个更快,5个布尔列或一个列作为整数位标志?

1 个答案:

答案 0 :(得分:0)

以下是处理“flag”列的方法:

案例1:我的标志/属性数量有限,不会发生显着变化。我使用布尔值,因为它们维护成本低(并且在任何数据库上都很有价值)非常有效。实际上,在SQL Server上,如果您有8个或更少的位/布尔列,they will occupy 1 byte。使用16位,您将拥有2个字节,依此类推。

可能能够通过手动将它们打包成一个整数来进行轻微优化,但仅限于某些用例(例如,如果我想控制特定的分组),它就不会是跨不同数据库引擎的非常便携的解决方案。因此,在99%的情况下,我避免这种思路。

案例2:我有无限数量的标志/属性。也许这个数字现在是5,但没有什么可以阻止它最终成为100或1000.在这种情况下,我使用更“关系”的方法,通过存储一个单独的标志表并将它们与连接表链接。