1
Livid MOD 表的类型是 MyISAM?
|
3
maja 2013-06-25 11:45:19 +08:00
默认表应该是ci的,这样lower函数不必须
show create table user; explain select * from User where email = '[email protected]'; |
4
cbc009 2013-06-25 11:46:19 +08:00
explain一下看看
|
6
sdjl OP 需要优化的地方许多, 我正在用慢查询分析工具来找原因
|
7
scourgen 2013-06-25 16:22:02 +08:00
还有就是如果开了query cache,那么可能会造成sql语句一会儿执行快一会执行慢
可以用 select sql_no_cache xxxxx强行关闭query cache,这样查出来的东西就是不经过缓存的 |
8
Livid MOD @sdjl 另外就是,像计数器这样的东西,一个对 MySQL 性能影响不会太大的做法是用 Redis 来计数,然后定期写回 MySQL(如果你对 Redis 的数据持久性没信心的话)
|
10
sdjl OP @Livid
@msg7086 嗯 谢谢提醒, 我已经暂时关闭登录统计了, 把Session放到内存中, 然后再给一些表添加索引, 现在性能好多了 这次优化主要是靠以下方式: 使用以下方法统计一段时间内各个进程的io使用 http://www.xaprb.com/blog/2009/08/23/how-to-find-per-process-io-statistics-on-linux/ 也可以用 iotop 来查看io进程使用io的情况, 然后找到是mysql占用了io, 再用慢查询分析工具来找可能的影响性能的查询 |