13-03-2022, Saat: 21:19
Değerli arkadaşlar merhaba,
80 adet field ve yaklaşık 11 bin kayıt olan bir tabloda aşağıdaki sorguyu çalıştırıyorum. Sonuçta 43 adet kayıt geri dönüyor.
Sorguda 6 tane ürün (yonca, korunga vs) adı var ve bu ürün isimleri değişebiliyor. Yani kullanıcının girdiği kayıtlara bağlı olarak ürün sayısı 1'de olabilir 100'de olabilir.
Fakat ürün sayısı arttıkça sorgu yavaşlıyor. Aşağıdaki sorguda 6 ürün için sorgu yaklaşık 20 saniye kadar sürüyor.
Ürün sayısının ve tablodaki toplam kayıt sayısının daha fazla olduğunu düşünecek olursak sonuca ulaşma süresi belki birkaç dakikayı bulacak.
Bu sorguyu hızlandırmak için yapabileceğimiz bir şeyler olabilir mi acaba?
80 adet field ve yaklaşık 11 bin kayıt olan bir tabloda aşağıdaki sorguyu çalıştırıyorum. Sonuçta 43 adet kayıt geri dönüyor.
Sorguda 6 tane ürün (yonca, korunga vs) adı var ve bu ürün isimleri değişebiliyor. Yani kullanıcının girdiği kayıtlara bağlı olarak ürün sayısı 1'de olabilir 100'de olabilir.
Fakat ürün sayısı arttıkça sorgu yavaşlıyor. Aşağıdaki sorguda 6 ürün için sorgu yaklaşık 20 saniye kadar sürüyor.
Ürün sayısının ve tablodaki toplam kayıt sayısının daha fazla olduğunu düşünecek olursak sonuca ulaşma süresi belki birkaç dakikayı bulacak.
Bu sorguyu hızlandırmak için yapabileceğimiz bir şeyler olabilir mi acaba?
SELECT M1.tcno,M1.ADI_SOYADI ,M1.ADRES,M1.TELEFON,COUNT(M1.ADA_PARSEL) as PARSEL_SAYISI, SUM(M1.BEYAN_ALAN) as BEYAN, sum(M1.TESPIT_ALAN) as TESPIT , ( SELECT SUM(M2.TESPIT_ALAN) FROM tbl_yem_bitkileri M2 WHERE M2.EKILEN_URUN = 'Yonca (Yeşil Ot)' and M2.TARIM_SEKLI='Sulu' AND M2.TCNO = M1.TCNO and M2.KONTROL_YILI='2021') AS Yonca_sulu , ( SELECT SUM(M7.TESPIT_ALAN) FROM tbl_yem_bitkileri M7 WHERE M7.EKILEN_URUN = 'Yonca (Yeşil Ot)' and M7.TARIM_SEKLI='Kuru' AND M7.TCNO = M1.TCNO and M7.KONTROL_YILI='2021') AS Yonca_Kuru , ( SELECT SUM(M3.TESPIT_ALAN) FROM tbl_yem_bitkileri M3 WHERE M3.EKILEN_URUN = 'Korunga (Yeşil Ot)' and M3.TARIM_SEKLI='Sulu' AND M3.TCNO = M1.TCNO and M3.KONTROL_YILI='2021')AS Korunga_sulu , ( SELECT SUM(M8.TESPIT_ALAN) FROM tbl_yem_bitkileri M8 WHERE M8.EKILEN_URUN = 'Korunga (Yeşil Ot)' and M8.TARIM_SEKLI='Kuru' AND M8.TCNO = M1.TCNO and M8.KONTROL_YILI='2021')AS Korunga_Kuru , ( SELECT SUM(M4.TESPIT_ALAN) FROM tbl_yem_bitkileri M4 WHERE M4.EKILEN_URUN = 'Yulaf (Yeşil Ot)' and M4.TARIM_SEKLI='Sulu' AND M4.TCNO = M1.TCNO and M4.KONTROL_YILI='2021')AS Yulaf_sulu , ( SELECT SUM(M9.TESPIT_ALAN) FROM tbl_yem_bitkileri M9 WHERE M9.EKILEN_URUN = 'Yulaf (Yeşil Ot)' and M9.TARIM_SEKLI='Kuru' AND M9.TCNO = M1.TCNO and M9.KONTROL_YILI='2021')AS Yulaf_Kuru , ( SELECT SUM(M5.TESPIT_ALAN) FROM tbl_yem_bitkileri M5 WHERE M5.EKILEN_URUN = 'Fiğ (Yeşil Ot)' and M5.TARIM_SEKLI='Sulu' AND M5.TCNO = M1.TCNO and M5.KONTROL_YILI='2021') AS Fig_sulu , ( SELECT SUM(M10.TESPIT_ALAN) FROM tbl_yem_bitkileri M10 WHERE M10.EKILEN_URUN = 'Fiğ (Yeşil Ot)' and M10.TARIM_SEKLI='Kuru' AND M10.TCNO = M1.TCNO and M10.KONTROL_YILI='2021') AS Fig_Kuru , ( SELECT SUM(M6.TESPIT_ALAN) FROM tbl_yem_bitkileri M6 WHERE M6.EKILEN_URUN = 'Tritikale (Yeşil Ot)' and M6.TARIM_SEKLI='Sulu' AND M6.TCNO = M1.TCNO and M6.KONTROL_YILI='2021' ) AS Tritikale_sulu , ( SELECT SUM(M11.TESPIT_ALAN) FROM tbl_yem_bitkileri M11 WHERE M11.EKILEN_URUN = 'Tritikale (Yeşil Ot)' and M11.TARIM_SEKLI='Kuru' AND M11.TCNO = M1.TCNO and M11.KONTROL_YILI='2021' ) AS Tritikale_Kuru , ( SELECT SUM(M12.TESPIT_ALAN) FROM tbl_yem_bitkileri M12 WHERE M12.EKILEN_URUN = 'Arpa (Yeşil Ot)' and M12.TARIM_SEKLI='Sulu' AND M12.TCNO = M1.TCNO and M12.KONTROL_YILI='2021' ) AS Arpa_sulu , ( SELECT SUM(M13.TESPIT_ALAN) FROM tbl_yem_bitkileri M13 WHERE M13.EKILEN_URUN = 'Arpa (Yeşil Ot)' and M13.TARIM_SEKLI='Kuru' AND M13.TCNO = M1.TCNO and M13.KONTROL_YILI='2021' ) AS Arpa_Kuru FROM tbl_yem_bitkileri M1 Where M1.GRUP='YEM' and M1.TASINMAZ_DURUMU='Aktif' and M1.KONTROL_YILI='2021' GROUP BY M1.tcno,M1.ADI_SOYADI ,M1.ADRES,M1.TELEFON Having sum(M1.TESPIT_ALAN) >= 10 Order By M1.ADI_SOYADI