我正在VPS上运行论坛,运行Percona DB,PHP 5.5.8,操作码缓存等等,它都是非常快速的。在MySQL数据库中增加计数器的最快方法
我也在运行New Relic(是的,我有T恤)。
当我调整应用程序时,优化查询,论坛正在向数据库发送任何查询在我耗时的列表顶部。
现在,我使用的最耗时的查询,因为它是最常用的查询是每个主题的简单命中计数器。
所以查询是:
UPDATE topics SET num_views = num_views + 1 WHERE id_topic = ?
我想不出来执行此,或者任何其它各种方式可能是更快,为什么一个简单的方法。
有没有写这个查询的方法,甚至更快,或者我可以添加到字段以帮助速度的索引?
谢谢。
嗨,谢谢。我不认为它可以做得更快,但我认为可能应用像LIMIT = 1(即使只有一个id_topic)可能会提高速度,如果内部使得它是“WHERE”子句花费更少的时间。 另外,您提到的索引让我看看索引,并且有8个索引,有些重复,并且没有任何id_topic字段!所以谢谢你为我发掘这个问题! :) –
@ i-CONICA如果id_topic是一个唯一的索引(如主键),在哪里添加一个限制不会有帮助。如果它不是独一无二的,我会困惑你如何单独看待它。 – Ray
是的,这是主键,再次感谢。 –