Eu tenho um grande feed de dados diário que pode conter até cerca de 5.000 IDs. Preciso excluir todos os registros pré-existentes no banco de dados que não são referenciados no novo feed. Devo criar uma tabela temporária para esses 5.000 IDs e executar uma instrução LEFT JOIN IF NULL DELETE? Ou é tudo a mesma coisa se eu apenas passar os IDs e executar uma instrução DELETE IF NOT IN. Minha suposição é que o MySQL faria o trabalho de criar a tabela temporária para mim ao usar instruções IN.
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?
Com um conjunto grande, você pode querer usar uma
NOT EXISTS
cláusula em vez de umaNOT IN
cláusula. Ajudará se você indexar o id em sua tabela de feeds. O uso de um índice permitirá que o otimizador use o índice em vez de ler a tabela. Tente uma consulta como: