我有具有這些字段爲什麼在mysql中使用NOT IN語法會導致數據庫服務器崩潰?
表名稱的兩個MySQL表一個 - residential
:
ListingID varchar(12),
ListingStatus varchar(15)
與ListingID
主鍵和上ListingStatus
的索引。
另一個表 - mlscheck
:
mls varchar(12),
status varchar(15)
與上狀態毫升和東印度相同的主鍵。
當我嘗試做任何事情,如:
delete from residential
where ListingStatus = "Active" and
ListingID NOT IN(select mls from mlscheck where status = "Active")
即使是:
delete from residential
where ListingStatus = "Active"
and LIstingID NOT IN(select mls from mlscheck)
既不作品中,既有崩潰我的數據庫,我必須重新啓動。
我應該學習如何使用連接,聯合等?我認爲不是一個體面的命令。我可以從一些專家那裏獲得一些意見嗎?
表中有多少條記錄? – 2012-01-12 01:20:49
您是否嘗試過使用單引號(例如「Active」)?此外,作爲一般規則,除非95%唯一,否則不要對列進行索引。優化器將忽略索引,並且會產生不必要的開銷。 – 2012-01-12 01:27:00
1.即使它很重,它也不會崩潰,這是數據庫。 2.也許你有其他內存/磁盤空間問題,檢查它,3.您檢查mysql日誌的BASIC OF BASICS? – 2012-01-12 01:47:16