MYSQL - 哪个枚举执行更好的枚举('Y','N')或枚举('1','0')
问题描述:
我有一个非常大的MYSQL表包含800000记录。我想知道哪种类型的性能更好枚举基于以下参数MYSQL - 哪个枚举执行更好的枚举('Y','N')或枚举('1','0')
- 存储(“男”,“女”)或枚举(1,0)
-
查询性能 - 这就像当我将使用
SELECT cols FROM table WHERE type = 'female' or SELECT cols FROM table WHERE type = 0
然后哪一个更好的表现或有任何其他方式来处理这种情况?
答
我在MYSQL测试了这个事情,我下面的结果给出:
- 在性能上没有区别,当我们用ENUM比较ENUM(“男”,“女”)(“1” ,'0')
+0
量化“巨大”。 – Thilo
+1
查询8次lac记录时,相同的查询花了0.124秒的ENUM和0.072秒的TINYINT。 –
存储和性能应该是相同的。您可能想阅读这篇关于使用枚举的文章:http://komlenic.com/244/8-reasons-why-mysqls-enum-data-type-is-evil/也许使用枚举不是最好的选择。另一种方法是将类型存储在单独的表中,并使用外键和连接,这对数据完整性可能更好。 – jpw
好的,但据我所知;在where子句中使用'1'会更好地使用'Y';不是吗? –
@JatinSeth:为什么会这样? – Thilo