Bazı ölçütlere göre 100 milyondan fazla satır içeren bir tablodan yaklaşık 10 K satırı silmek zorundayım. Sorguyu çalıştırdığımda yaklaşık 5 dakika sürer. Açıkladığım bir plan çalıştırdım (MySQL explain delete
'u desteklemediğinden select *
'a dönüştürülen delete
sorgusu) ve MySQL'in yanlış dizini kullandığını fark ettim.MySQL, silme ve ipucu ipucu
Soruma soru: MySQL'in hangi dizini silme sırasında kullanacağını söylemenin bir yolu var mı? Değilse ne yaparım? Geçici tabloyu seçin ve geçici tablodan silinsin mi?
Birincil anahtarınızın olduğundan ve silinizin WHERE yan tümcesinde belirtilen sütunun dizine eklendiğinden emin olun. –