SQL tablodaki sorgunun hızı?

Başlatan mir_as82, 11 Nisan 2020, 20:08:55

mir_as82

1.case:
Tablodaki clustered index CustomerId(primary key değil)kolonunda,
benim sorgum ise şu,

Update Customers set RecordStatus=0 where CustomerId=1000 and PhoneNum=123 and No=10

2.case
Update Customers set RecordStatus=0 where CustomerId=1000 and PhoneNum=123 and No=10

CustomerId,PhoneNumber,No
Kolonları birlikte none-clustered index.

1. Case ve 2.case arasındaki
sorgu sonuçlarını gelme hızı arasında nasıl bir ilişki olabilir?

 

tunayk

2. durumda daha hızlı sonuç alırsınız.  Eğer hız kritik ise StoredProcdure kullanmanız daha faydalı olacaktır.

mir_as82

Alıntı yapılan: tunayk - 11 Nisan 2020, 20:38:132. durumda daha hızlı sonuç alırsınız.  Eğer hız kritik ise StoredProcdure kullanmanız daha faydalı olacaktır.
1 milyon kayıt içinden. 1.case 2 saniyede getirirse,
 2.case kaç saniyede getirir tahmini?

tunayk

#3
Buna net bişey söylemek zor. Üzerinde koştuğu sisteme bağlı. İndekslerin durumu önemli. İndeksi birkere oluşturdum demekle iş bitmiyor. Belirli aralıklarla yeniden  oluşturulması gerekli.

Şöyle bir ilave;

When not to use Indexes

When data is written to the database, the original table (the clustered index) is updated first and then all of the indexes off of that table are updated. Every time a write is made to the database, the indexes are unusable until they have updated. If the database is constantly receiving writes then the indexes will never be usable. This is why indexes are typically applied to databases in data warehouses that get new data updated on a scheduled basis(off-peak hours) and not production databases which might be receiving new writes all the time.

mufitsozen

#4
Alıntı yapılan: mir_as82 - 11 Nisan 2020, 20:08:551. Case ve 2.case arasındaki
sorgu sonuçlarını gelme hızı arasında nasıl bir ilişki olabilir?

 


Bunlara dogru bir cevap vermek icin hangi sql kullandiginizi soylemeniz faydali olacaktir (SQL Server, Oracle (hangi version), MySQL,vs). Kullandiginiz Schema'yida gormek fayda saglayacaktir.

Butun RDB sistemlerinde performans vs icin toollar vardir. Bununla birlikte SQL matematik olarak tanimlidir ve EXPLAIN kelimesini SELECT , INSERT , DELETE , REPLACE , and UPDATE vs'nin onune yazarak islemin nasil yapilacagi gorulebilir ve sonuclara gore performans iyilestirici degisiklikler yapilabilir.
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.