我可以加快查询速度以使其更快吗?现在需要51秒。
UPDATE tbl_user_tmp tut
INNER JOIN tbl_user_tmp tut1 ON tut.name = tut1.name
SET tut.image = '1', tut1.image='1'
WHERE tut.image = 0 AND tut1.image=1 and tut.user = 'user' and tut1.user = 'user'
我试图查找具有相同名称的整体并更新图像,如果一个名称的图像等于0,而另一个名称等于1。
我无法在此表上放置索引,因为该索引已由我的网站上的用户更新和插入。据我了解,添加索引将使这些查询变慢。我需要它快。这确实是我所引起的唯一查询。因此希望找到一种无需索引的方法。
最佳答案
这是查询:
UPDATE tbl_user_tmp tut INNER JOIN
tbl_user_tmp tut1
ON tut.name = tut1.name
SET tut.image = 1,
tut1.image = 1
WHERE tut.image = 0 AND tut1.image = 1 and tut.user = 'user' and tut1.user = 'user';
索引将有助于此查询。我会建议:
create index idx_tbl_user_tmp_1 on tbl_user_tmp(image, user, name)
create index idx_tbl_user_tmp_2 on tbl_user_tmp(name, image, user)