我通过保存耗时过长的查询开始使用Zend_Db_Profiler进行基准测试。对于一个用户,此查询:
SELECT chapter, order, topic, id, name
FROM topics
WHERE id = '1'
AND hidden = 'no'
耗时 2.97 秒。我执行了一个解释:
select_type table possible keys key key_len ref rows Extra
SIMPLE topics id id 4 const 42 Using Where
并自己从 phpMyAdmin 运行查询,只用了 0.0108 秒。我认为表格的大小可能会产生影响,因为有一列是 varchar 和 8000 个字符长,但它不是 Select 的一部分。我也刚刚切换到半专用托管,但无法想象这会产生负面影响。任何关于我如何解决问题的想法都将不胜感激。