簡體   English   中英

我的內部連接sql語句必須為mysql索引什么結構?

[英]What structure must be mysql indexed for my inner join sql statement?

我的Firma表和此聲明有近一百萬條記錄

SELECT    firma.adi,firma.tel, firma.cep, firma.adres,
          firma.etiket, sehir.ad, ilce.ilce_adi, ustkat.ust_adi 
FROM      firma 
inner     join sektor on sektor.s_fid=firma.id 
inner     join ustkat on ustkat.ust_id=sektor.s_ustid 
inner     join sehir on sehir.id=firma.sehir 
inner     join ilce on ilce.ilceid=firma.ilce 
WHERE     firma.uyeliktur<4 and firma.onay=1 and
          firma.zoom>0 and firma.koordinat>0 
GROUP BY  firma.id 
ORDER BY  firma.uyeliktur desc, firma.bastarih desc 

我該如何使用mysql索引。

您需要一個索引, where子句中的所有列。 第一個應該是onay (由於相等條件)。 第二個條件應該是最嚴格的條件。 其中之一:

firma(onay, uyeliktur, zoom, koordinat)
firma(onay, zoom, uyeliktur, koordinat)
firma(onay, koordinat, uyeliktur, zoom)

僅前兩列直接用於查找where的行。 其他兩個效率略有差異,因此存在where

順便說一句,如果這些實際上是標志,那么您最好說zoom = 1不是zoom > 0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM