我使用人工生成的文本,这些文本是我从不同的在线数据集下载的,如GitHub Torrent、Twitter API、网络化HTML页面、Google BigQuery for GitHub等。这意味着我在数据库中有数千万和数亿的文本。
在哪些场景中,我应该为MySQL数据库中的UTF8字段和UTF8表设置排序规则?有必要吗?我不能简单地使用"CHARACTER SET UTF8"吗?
utf8-默认排序规则、utf8_unicode_ci和outf8_general_mysql500_ci
每个文本列都有一个排序规则。它可以在表定义中显式设置,也可以简单地从表的默认值、数据库的默认值或服务器范围的默认值设置。但它有一个校勘。
您提到的排序规则都不区分大小写
您可能希望在现代服务器中使用utf8_unicode_ci
。请阅读本文作为背景。什么';s utf8_general_ci和utf8_unicode_ci 之间的差异
utf8_general_mysql500_ci
是一个专门用于向后兼容旧版本MySQL的排序规则。http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-21.html