我已经完成了MySQL 5的一些字符集定时测试.列字符编码确实对速度有影响:如果列是UTF8,则管理文本的时间比ASCII或Latin1长约60%.无论结果是在与列相同的字符集中返回还是被转换,都是如此,并且它独立于查询字符集.只有列字符集才有所不同!
但是,在您将所有内容转换为ASCII之前,要意识到这60%的命中率仅在数据库的文本处理部分,并且通常行访问和索引操作需要几倍的微小差异.例如,在现代但廉价的Linux服务器上,我测量的差异仅为每兆字节文本16毫秒.
在除了最关键的时间之外的所有情况下,这种微小的差异非常值得实现一致的UTF-8工作流程.