我可以加快此查询,使其更快?现在它需要51秒。加快MySQL查询,检查重复值与不匹配的值和更新
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'
我试着去找到具有相同名称和更新图像entires如果一个名称有图像,等于0,另一个等于1
林不能够把索引放在这张桌子上,因为它的更新和插入由我的网站上的用户。根据我的理解,添加索引会减慢查询速度。我需要它很快。这真的是我唯一引起问题的查询。所以希望找出一种方法,而不必索引。
你有'name'列吗?你有没有检查你的执行计划?它也取决于表格的大小。你正在嵌套你的查询,看起来好像它可能正在处理大量的表格。可能是这种情况?请尝试对(0,1)和user ='user''中的图像进行计数,并将其与总行数进行比较。 – 2014-10-05 18:31:05
已更新的问题。 – Bignadad 2014-10-05 18:33:34
'UPDATE tbl_user_tmp tut SET tut.image ='1'where tut.image = 0和tut.user ='user'和tut.name in(从tbl_user_tmp中选择名称,其中image = 1和user ='user “)'? (没有办法在我身边测试它,但是...) – 2014-10-05 18:42:40