2016-12-23 13 views
0

mysqlクエリに問題があります。限られた10行では約101秒と遅すぎます。何が問題なの?制限付きローのMySQLクエリが遅すぎる

クエリは次のとおりです。

SELECT isteksikayet.BASVURU_NO AS BasvuruNo, isteksikayet.BASVURU_TARIHI AS BasvuruTarihi, mahalle.ad AS MahalleAdi, konular.ADI AS KonuAdi, 
sonucturleri.ADI AS Durum, isteksikayetdetay.GUNCELLEME_TARIHI AS BilgiTarihi, birimler.ad AS BirimAdi 

FROM isb_istek_sikayet isteksikayet 
INNER JOIN tbl_sistem_mahalle mahalle 
ON isteksikayet.MAHALLE_KODU = mahalle.kod 
INNER JOIN isb_konular konular 
ON isteksikayet.KONU_KODU = konular.KODU 
INNER JOIN isb_istek_sikayet_detay isteksikayetdetay 
ON isteksikayet.BASVURU_NO = isteksikayetdetay.BASVURU_NO 
INNER JOIN isb_sonuc_turleri sonucturleri 
ON isteksikayetdetay.SONUC_KODU = sonucturleri.KODU 
INNER JOIN mubim_birim birimler 
ON isteksikayetdetay.DAIRE_KODU = birimler.kod 
ORDER BY BasvuruNo DESC LIMIT 10; 
+0

表示するレコードを決定するには、DBをすべて注文する必要があります。 –

+0

結合列にインデックスを設定していますか? –

+0

@juergendどうすれば修正できますか?私はチャンスDB構造の許可を得ることができません。 –

答えて

1

クエリはわずか10行を返すことは事実ですが、それは6つのテーブルのすべての行が参加注文している、これは本当にそれのように(すぐに制御不能に成長することができますすでにあなたのデータベースで行った)。

BasvuruNo列を含むテーブルのみを注文し、サブクエリの最初の10個のレコードを抽出し、残りのテーブルと結合することをお勧めします。この方法では、圧倒的なレコードの注文を避けるべきです

関連する問題