Bil*_*win 45
使用以下操作会产生巨大的性能损失ENUM
:
查询允许值列表ENUM
,例如填充下拉菜单.您必须从中查询数据类型INFORMATION_SCHEMA
,并从返回的BLOB字段中解析列表.
更改允许值集.它需要一个ALTER TABLE
语句,它可以锁定表并可以进行重组.
我不是MySQL的粉丝ENUM
.我更喜欢使用查找表.另请参阅我的回答" 如何处理数据库中没有枚举字段的枚举? "
Joh*_*hat 24
ENUM在内部由1或2个字节表示,具体取决于值的数量.如果您存储的字符串大于2个字节并且很少更改,则可以使用ENUM.使用枚举进行比较会更快,并且它们在磁盘上占用更少的空间,这反过来可以导致更快的搜索时间.
缺点是,在添加/删除值时,枚举的灵活性较低.
Gui*_*dre 11
在本文中,http://fernandoipar.com/2009/03/09/using-the-enum-data-type-to-increase-performance/ Fernando研究Enum类型的查询性能.
结果是,从设计的角度来看,使用ENUM可能看起来不那么优雅(如果您的ENUM值有时会发生变化),对于大型数据集,性能增益是显而易见的.请参阅他的文章了解详情.你同意吗?
归档时间: |
|
查看次数: |
22809 次 |
最近记录: |