Executei uma consulta de atualização juntando-se a um grande número de tabelas que atualizaram um campo e correspondeu a 29 mil linhas ímpares. A execução da mesma consulta com apenas uma adição na cláusula Set aumentou as linhas correspondentes para 118 mil linhas ímpares. Parece que isso só deve mudar se a cláusula WHERE for editada.
relate perguntas
-
Existem ferramentas de benchmarking do MySQL? [fechado]
-
Onde posso encontrar o log lento do mysql?
-
Como posso otimizar um mysqldump de um banco de dados grande?
-
Quando é o momento certo para usar o MariaDB em vez do MySQL e por quê?
-
Como um grupo pode rastrear alterações no esquema do banco de dados?
Acho que acabei de descobrir...
O MySQL deve contar o número de linhas que serão atualizadas, não todas as que serão geradas pela junção que ocorre durante a atualização. A diferença é que se houver muitos [B] para um [A] e muitos [C] para um [B], juntar todos criaria n([C]) linhas, mas atualizar [B] contaria apenas n( [B]). Adicionar um conjunto para [C] torna esse número n([B]) + n([C]).
Como os campos da cláusula set estão em tabelas diferentes, ela altera o número atualizado.