Bir veritabanını miras aldım ve onu temizlemek ve hızlandırmak için arıyorum. Programlayıcı adına yapılan bir hata nedeniyle önemsiz verilerden oluşan 30.000.000 satır içeren bir tablom var. Herhangi bir yeni ve daha optimize edilmiş dizin eklemeden önce, tabloyu MyISAM'dan InnoDB'ye dönüştürdüm ve önemsiz veriler içeren birçok satırı silmek istiyorum.
Veritabanı MySQL 5.0 ve sunucuya root erişimim var. Bu komutları önce Adminer'den sonra da phpMyAdmin'de çalıştırdım, ikisi de aynı sonuçlarla.
Çalıştırdığım komut,
DELETE
FROM `tablename`
WHERE `columnname` LIKE '-%'
Temel olarak, bu sütunda bir çizgi ile başlayan herhangi bir şeyi silin -
.
Yaklaşık 3-5 dakika sürüyor ve işlem listesini görüntülediğimde işlem bitiyor.
Sonra koşarım
SELECT *
FROM `tablename`
WHERE `columnname` LIKE '-%'
ve milyonlarca satır döndürür.
Delete deyim neden tamamlanmıyor?
PS, MySQL 5.0'ın güncel olmadığının farkındayım. DB'yi MySQL 5.6 w InnoDB'ye (belki MariaDB 10 w XtraDB) taşımaya çalışıyorum, ancak bu gerçekleşene kadar, DB ile olduğu gibi cevap vermeye çalışıyorum.
-
Düzenleme kaldırıldı, cevabımı görün.
WHERE
.