在交通非常繁忙的LAMP服务器上,我使用内存表来跟踪多个数据项作为计数器。它的实现是这样的:Php - 优化多个计数器增量
$query = "INSERT INTO daily_info_mem SET di_num=1 ,di_type=9, di_date = current_date(), di_sid= $sid_int ,di_name='user_counter' ON DUPLICATE KEY UPDATE di_num=di_num+1";
索引设置独特di_type和日期,因此,如果存在对于这个日期计数器然后di_type它被递增,如果不是为了此日期和数据类型的行与0值创建。
对于每个页面视图有几个这样的查询。这意味着几个MySQL调用。
是否可以优化该尽可能地为一个MySQL的通话将更新几个任意柜台,仍然保持如果需要创建行或增加淡水河谷如果它存在的想法?
为什么不使用自动增量这样的东西来处理你的柜台? – 2009-09-08 09:53:45
如果我是正确的,自动增量用于行级索引值。我正在增加一个字段,而不是行数 – Nir 2009-09-08 09:59:04
你是指同一行内的“counter”字段吗?像ON DUPLICATE KEY UPDATE di_num = di_num + 1,c2 = c2 + 99,c3 = c3 + 47? – VolkerK 2009-09-08 10:11:46