不需要排序时,首选哪种排序规则?

时间:2011-10-11 15:40:35

标签: php mysql database collation

我有一张表,例如:

create table T1(Id int primary key auto_increment, Value text)

Value用于存储“文本”数据,但根据Value列,行永不排序

Value应该选择哪种排序规则?

utf8mb4_bin会是更好的选择还是utf8mb4_general_ci

1 个答案:

答案 0 :(得分:2)

看起来很好。我肯定不会使用不区分大小写的排序规则(如果不需要)(因为它可能)会导致查询速度变慢(尽管我怀疑它会无论如何都要用于非文本字段。)

但是,您应该记住,排序规则不仅适用于排序,还适用于选择(例如,where子句)。如果您只想根据Value以外的列检索行,那应该没关系。

在任何情况下,我实际上都不是数据库本身对不区分大小写的排序规则的忠实粉丝,因为我宁愿让数据库尽可能快地运行,并使用我的拥有< / em>处理案例问题的方法(例如一个额外的索引列保存较低的姓氏,并使用插入/更新触发器更新以保持与行的其余部分的一致性。)

基本上,我是Luddite :-)但是没有人抱怨他们的数据库是如何,只是关于如何慢。