- MySQL 5.7.27
- Centos 6.10
mysql> DELETE FROM CSV_DATA WHERE FILE_ID IN ( SELECT FILE_ID FROM CSV_FILE WHERE FILE_STATUS = 7) LIMIT 100000 129 secNampak-nya seluruh row akan di-scan dan nilai FILE_ID pada setiap setiap row akan dibandingkan dengan hasil dari
IN SELECT
.mysql> DELETE FROM CSV_DATA WHERE EXISTS ( SELECT FILE_ID FROM CSV_FILE WHERE FILE_STATUS = 7 ) AND FILE_ID IN ( SELECT FILE_ID FROM CSV_FILE WHERE FILE_STATUS = 7 ) LIMIT 100000 0 secNilai dari
EXIST
akan di-evaluate dan bila row tidak ditemukan maka perbandingan selanjutkan tidak di-evaluate.Dalam case ini,
LIMIT
digunakan untuk mempersingkat waktu locking terhadap table CSV_DATA. Statement JOIN
tidak dapat digunakan karena tidak compatible dengan LIMIT
.
Tidak ada komentar:
Posting Komentar