开发者社区> 问答> 正文

使用二进制排序规则有什么影响??mysql

在回答这个问题时,我不确定自己没有设法找到足够的答案。

使用二进制排序规则utf8_bin和不区分大小写的utf8_general_ci排序规则之间的实际区别是什么?

我可以看到三个:

两者的排序顺序不同;_bin的排序顺序可能会将任何变音符放在字母表的末尾,因为比较了字节值(对吗?)

仅区分大小写的搜索 _bin

没有A = Ä平等_bin

还有其他需要注意的差异或副作用吗?

参考:

9.1.2。MySQL中的字符集和排序规则 9.1.7.6。mySQL手册中的_bin和二进制排序规则 9.1.7.7。BINARY运算符 无法解决该问题的类似问题:

UTF-8:一般?斌吗 Unicode?

展开
收起
保持可爱mmm 2020-05-17 10:27:50 573 0
1 条回答
写回答
取消 提交回答
  • 如果字符不同(二进制大小写或变音符号不同),二进制排序规则将完全按照C语言中的strcmp()进行字符串比较。缺点是排序顺序不自然。

    非自然排序顺序的一个示例(如“ binary”所示)是:A,B,a,b在这种情况下,自然排序顺序将是例如:A,a,B,b(对sme字母的小写和大写字母进行排序彼此相邻)

    二进制排序规则的实际优势是它的速度,因为字符串比较非常简单/快速。在一般情况下,带有二进制的索引可能不会产生预期的排序结果,但是对于完全匹配,它们可能很有用。来源:stack overflow

    2020-05-17 10:31:09
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像