Merhaba arkadaşlar;

ASP.NET MVC5 projesinde SQL-Server 2014 kullanıyorum. Fakat tablonun birinde index yapısı kullanarak performanslı sorgular kullanarak hız sorununu aşmam gerekiyor. Tablonun yapısı: Id(Int, primary key), KolonA(int), KolonB(int), KolonC(float), KolonD(smalldatetime) KolonD sütununa veriler 5 dakikalık ya da 15 dakikalık olarak yazılacaktır.

Sorgumda; SELECT * FROM Tablo KolonA='' AND KolonB='' AND KolonD BETWEEN '' AND '';

tarzında bir sorgu yazacağım. Fakat spesifik durum olarak(SQL kısmında yapmak daha karlı ise) KolonD sütununu kullanarak, 15 dakikalık, saatlik, günlük ve haftalık şeklinde tarihsel filtreleme ve SUM(KolonC) / AVG(KolonC) gibi toplama ya da ortalamasını alma işlemi yapabilirim. Ama derseniz ki SQL kısmında yapma, tüm veriyi yazılıma çek orada C# ile hallet derseniz de öyle de yapabilirim, benim için değişen bir şey yok. Yani sorgu olarak şöyle olacak;

SELECT KolonA, KolonB, SUM(KolonC) WHERE KolonA='' AND KolonB='' AND KolonD BETWEEN '' AND '';

SUM yerine AVG de gelebilir.

Değerli T-SQL üstatlarına bana bu konuda yardımcı olabileceklerini umuyorum.

Index yapıları olarak, clustered index, nonclustered index, columnstore clustered index gibi yapılar var. Ne kullanmam gerektiğine karar veremedim.

Tabloya sürekli insert işlemi yapılacak, okuma işlemlerinde toplu veriler çekilecek analiz, raporlama gibi sayfalar için. Reading işlemini uzun sürmemesi açısından tavsiyelerinize ihtiyacım var.

soruldu: 26 May, 09:25

CodErode's gravatar image

CodErode
091618
cevap kabul oranı: 0%


Hesaplamaları SQL sorgusu ile yapmak her zaman daha hızlıdır.

Edit: index eklemek select sorgusunu hızlandır ancak insert, update, delete sorgularını yavaşlatır. sürekli update edilen bir alanın varsa bu alanlara index ekleme.

mümkün oldu kadar az datayı uygulamaya çek. uygulamada, gelen data üzerinde hiç bir işlem yapmasan bile binlerce satırlık datanın uygulamaya ulaşması çok maliyetlidir.

permanent link

cevaplandı: 26 May, 11:06

Fatih%20A%C5%9Flamac%C4%B1's gravatar image

Fatih Aşlamacı
1.0k111929
cevap kabul oranı: 14%

değiştirildi: 27 May, 04:46

Ben o kadar emin konusmazdim.

(26 May, 12:40) NoName NoName's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×4
×3
×1

Soruldu: 26 May, 09:25

Görüntüleme: 220 kez

Son güncelleme: 27 May, 04:46

powered by BitNami OSQA