经常要用到select count(question_id) from ... where ... 这样的语句,发现整修服务器的瓶颈就在这个地方,question_id这个字段已经做了索引,每次执行这个语句都要花上近30秒的时间,对于WEB应用来说效率太差了,大家想想有什么办法
开了MYSQL的缓存也是没用的,因为这个表的数据不段在添加
6 个解决方案
#1
很简单:单独建立一个表,用于存放count()数据。即每次修改数据时同时维护这个新表
#2
这个修改率也太高了,因为这个一个收集问卷结果的表,半天就有2万条数据
#3
这与修改率没关系,在写问卷结果表的同时写另一个表,就是说问卷结果表每增加或删除一条记录,新表中的值加1或减1
#4
十万级的数据对MySQL来说不算多,还是优化优化查询吧。
#5
用myisam格式,事半百倍
#6
mysql的速度应该是很高的,这么个sql语句就花这么多时间是不正常的
#1
很简单:单独建立一个表,用于存放count()数据。即每次修改数据时同时维护这个新表
#2
这个修改率也太高了,因为这个一个收集问卷结果的表,半天就有2万条数据
#3
这与修改率没关系,在写问卷结果表的同时写另一个表,就是说问卷结果表每增加或删除一条记录,新表中的值加1或减1
#4
十万级的数据对MySQL来说不算多,还是优化优化查询吧。
#5
用myisam格式,事半百倍
#6
mysql的速度应该是很高的,这么个sql语句就花这么多时间是不正常的