sadece gerekli verileri çekin. SELECT * FROM ile tablodaki tüm kolonlar gelir. Çok yüksek yüklerde sıkıntı yaratır. Sadece isimler listeleniyorsa isimleri alın vs.
Çok yüksek verilerde oracle database kullanabilirsiniz. Daha hiç deneyimlemedim ama iyi diyorlar.
Mysql veri çekme hangi durumda daha hızlı olur?
13
●438
- 21-10-2022, 04:33:10
- 26-10-2022, 07:07:27ard arda aynı sorguları test için gönderdiğinizde, sorgular sql cache den dönebilir o yüzden gerçek sonuç çıkmayabilir. bunun önüne SQL_NO_CACHE ile geçebilirsiniz.
select SQL_NO_CACHE * from table where 1=1 gibi
verdiğiniz örneklerde id nin uniq indexinin olduğunu varsayarsak ve oracle ın dediğine göre en hızlı sonuç vereninin
SELECT * FROM table WHERE id BETWEEN 1 and 4;
olması gerekir.
fakat en iyi sonucu * olarak değilde istediğiniz sütünları isteyerek görebilirsiniz. select veri, veri2, veri3 gibi
tüm bunların yanında explain ile de sorgunuzun nasıl çalıştığını hangi indexleri kullandığını veya kullanmadığını görebilirsiniz.
sorgunuzun başına explain eklemeniz yeterli, explain select * from table where between 1 and 4 - 26-10-2022, 09:57:51en hızlı sorgunun Between yerine in olan seçenek ile geldiğini gözlemledim ve o sekilde islem yaptım.trgino adlı üyeden alıntı: mesajı görüntüle
Sanırım sunucunun da farkı var sunucu değişikliği sonrasında 6-7 sn gibi süreler görülürken şuan 0.0041, 0.0030 lu süreleri görüyorum yüksek veri çekilmesine rağmen