Bilmek istediğin her şeye ulaş

1.000.000 dan fazla kayıt bulunan tabloda sorgularımın tepki süresi 55 sn. idi. Sorguların bazılarında * kullanmışım onları sadeleştirdim ve süre 25 sn. oldu. Bu süreyi daha da kısaltmak için neler yapabilirim?

Bu bir milyonluk veri içerisinden son bir günü lazım oluyor bana (max son 50.000 kadar veri) ama ben datetime aralığı verdiğim için yine bütün tabloyu gözden geçiriyor Ne yapmamı önerirsiniz.Düzenle
Bence yazdığınız sorguyu gözden geçirmeniz gerekir. Çünkü 1000000 veri aslında çok az bir veridir. Bu kadar veri için bile 25 saniye gibi bir süre harcanıyor ise ciddi bir problem olabilir. Index oluşturmak hız sorununuzu çözebilir ancak öncelikle sorgudaki sorunu bulmanız lazım diye düşünüyorum. SQL Server Management Studio ile SQL monitoring yaparak veya SQL Profiler kullanarak sorgunun detaylı planına bakabilirsiniz. Sorguda çeşitli karmaşık hesaplamaların sonucunda bir veri almaya çalışıyorsanız bu hesaplamaları SQL üzerinde yaparken başka bir yöntem araştırmanızı öneririm.
  • Paylaş
1

Birkan Aydin, Aslında sorguda sorun olduğunu düşünmüyorum, daha düşük işlemcili bir serverda aynı veri tabanı ile aynı sorguları gerçekleştirdim, süre çok çok daha kısa oluyor. Bazı işlemlerde de çekmiş olduğum verilerde kolon ve satır sayıları runtime da farklılık gösteriyor. yani çekmiş olduğum sorgu sonucu verileri tekrardan asp.net içerisinde bazı işlemlerden geçiriyorum. Her ne kadar olaya farklı açılardan yaklaşmaya çalışsamda hep bir yerlerde bir şeyleri kaçırıyor gibiyim :) Yarın gün içerisinde bu problemi çözmeyi ümit ediyorum. Elbette yine yardımlarınıza ihtiyaç duyacağımdır. Tekrardan teşekkürler.

Eğer bu sorgunun senin için bir özelliği varsa where clause'unda kullandığın satırları indeksle. Her indeksleme veritabanı boyutunu artırır ama indekslenen işlemin hızını artırır. w3schools.com/sql/sql_create_index.asp

use-the-index-luke.com/sql/preface
  • Paylaş
1

Birkan Aydin, Yarın indexleme işlemini deniyeceğim. Vermiş olduğunuz yararlı ve yapıcı bilgilerden dolayı çok çok teşekkür ederim.

Ms sql server mı kullanıyorsun bilmiyorum ama size zamanında yaşadığım bir sorunu yazmak isterim. Verilerin geç gelme problemi vardı. Fakat ms sql de aynı şekilde veriyi milisaniyeler bazında çekiyordum. Eğer böyle bir sorun ise bahsettiğiniz şey, problem verilerin sayfaya işlenmesinin geç olması dır muhtemelen. Verilerin işlenmesi haliyle geç gelmeye başlayınca bende ekstra yazılımsal performans ayarlarına geçmek zorunda kaldım. Mesela bütün veriyi çekip ekrana işlemektense sayfalama yapıp veriyi parça parça çektim. Ve sql cache depedency kullandım. Ve çektiğim verileri ekstradan cache işlemine tabi tuttum. Sorunum bu şekilde çözülmüştü.
  • Paylaş