在每个查询中设置字符集和排序规则,是否必要,我可以抑制它吗?

问题描述:

我使用笨和MySQL 5.1中,应用程序查询DB每小时约5公里的请求,并在每个查询的开始,我得到 SET NAMES 'utf8' COLLATE 'utf8_general_ci'在每个查询中设置字符集和排序规则,是否必要,我可以抑制它吗?

这将显着性的流量。我一直在codeigniter论坛上询问这个问题 My thread here...

我已经设置了UTF8和utf8_general_ci的所有可能的字符集和排序规则(我认为)。 database.php(Codeigniter DB连接设置)也具有匹配客户端连接的字符集和整理设置。 但我仍然得到所有这些陈述。他们是压制他们的方法吗? 我已经转换表使用改变表...转换为..

我希望有人在这里有更多的MySql经验可能有一个想法。

[mysqld] 

日志= /tmp/mysql.log
默认字符集= UTF8
默认自动分页= utf8_general_ci
核对服务器= utf8_general_ci
字符集服务器= UTF8

Screen shot from DB Utility showing server charsets and collations...

Tks, Owen。

+0

你有没有尝试在config/database.php中注释char_set和dbcollat​​? – 2011-03-29 15:38:51

在实际查询来自CodeIgniter本身之前发送的SET NAMES查询。如果您不需要它,您需要在MySQL服务器配置文件中配置排序规则和字符集,然后调整CI数据库类,如@Madmartigan建议的那样。

+0

我已经离开这里,但在不久的将来会回来,谢谢你的建议 – OwenM 2011-05-05 15:40:58