我上表interim_19
執行SQL請求以67.500排。表不被編入索引,且具有7列,非其中是唯一的/主鍵,因爲主數據Abonent
和idBase
被重複,所有的數據中予有像7-8不同idBases
和〜10.000不同Abonents
,以及其他數據等date
在唯一性方面不可靠。慢SQL INNER JOIN
的問題是在慢內部連接在這個表上。
如果我執行SELECT * FROM interim_19 WHERE idBase IN (1551 , 42286)
它會採取1.33秒,並SELECT * FROM interim_19 WHERE idBase IN (1535 , 5406)
將採取1.9秒,
SELECT * FROM (SELECT * FROM interim_19 WHERE idBase IN (1551 , 42286))
temp1
inner join
(SELECT * FROM interim_19 WHERE idBase IN (1535 , 5406)) temp2
on temp1.Abonent = temp2.Abonent
是否需要永遠 - 147-157秒。我知道內連接不會比較每一行到第二個表上的每一行,但是這不應該花這麼長時間。 OFC它讓重複的,但我需要的所有7個+ 7行,所以......
P.S我已經試圖建立索引,以便其他建議也歡迎。
我沒有看到派生表的原因,並直接連接表。另外,只選擇您實際需要的列。 「SELECT *」對你沒有任何好處。 –
它是mySql還是SQL Server?請編輯您的標籤 –