Yorumları: 669
Konuları: 73
Kayıt Tarihi: 20-12-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 1.544
Programcı
31-05-2019, Saat: 12:00
(Son Düzenleme: 31-05-2019, Saat: 13:21, Düzenleyen: shooterman.)
Selamlar
Arkadaşlar hergün tabloma 450 bin satır veri eklenmektedir. 1 günlük veri sorgulaması yaptığımda delphide kodların çalışması ve bu verileri dbgride aktarması yaklaşık 1 dakika sürmektedir. Bu verileri daha süratli çekmek için öneriniz nedir?
Koda gelince; standart olarak
select min(degerx) where tarih between tarih1 and tarih2
ve
select max(degerx) where tarih between tarih1 and tarih2
şeklindedir. Veritabanı olarak mysql kullanıyorum. Delphi içerisinde yapılan işlem ise, bu 450 bin satır içerisinden 350 farklı bilginin minimum ve maksimum değerleri sorgulamak ve bu değerleri başka bir tabloya insert etmektir.
Ancak tarih aralığı birkaç gün olursa, program cevap vermeyecek duruma geliyor. Verinin daha hızlı sorgulanması adına yardımlarınızı rica ediyorum.
Yazılımcı, kahveyi koda çeviren bir organizmadır.
Yorumları: 567
Konuları: 15
Kayıt Tarihi: 24-03-2017
Rep Puanı: 3.376
Uzman
Bu sorguları mysql workbench vb database yönetim araçlarında çalıştırdığınızda nasıl bir tepki alıyorsunuz.
Gecikme database tarafındamı kaynaklanıyor, network transfer sürecindemi yoksa delphi içerisindeki iç hesaplamadamı.
İşlemi uzatan kısmı tespit edip ona göre bir çözüm aramak mantıklı olur
Yorumları: 283
Konuları: 1
Kayıt Tarihi: 13-03-2017
Aktif Kullandığınız Delphi Sürümü:
- Delphi 10.1
- Delphi XE7
- Delphi 7
Rep Puanı: 964
Acemi
Merhaba,
Yardımcı (özet) tablolar oluştursan
ana tablo için bu tabloları güncelleyecek triggerlar yazsan
ve sorgularını yardımcı tablolar üzerinde yapsan işini görebilir
Yorumları: 669
Konuları: 73
Kayıt Tarihi: 20-12-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 1.544
Programcı
Selamlar
Tabloda bulunan İndex yapısını değiştirdim. 1 alanı indexlemiştim, 3 e çıkardım. Ayrıca başka bir tabloya da index alanı ekledim. Süre ölçümleri yaptığımda, 2 indeksli tabloda sorgulama işlemi 126 saniye sürerken, 3 indeksli tabloda 15 saniyeye düştü.
Yazılımcı, kahveyi koda çeviren bir organizmadır.
Yorumları: 820
Konuları: 135
Kayıt Tarihi: 07-12-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 3.030
Uzman
@
wiseman
Öncelikle hız için yazmamı daha önemli sorgumu daha önemli buna karar vermende fayda var
Eğer yazma sırasında hızın çok büyük önemi yoksa ve önem sorgu sırasında ise indexleri kaldırıp @
meko nun tavsiyesini dikkate almanı öneririm.
indexler sorgularda hız kazandırır doğrudur fakat yaza sırasında hızı düşürür. bunuda göz ardı etmemenizi öneririm.
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz.
Yorumları: 669
Konuları: 73
Kayıt Tarihi: 20-12-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 1.544
Programcı
(31-05-2019, Saat: 14:15)adelphiforumz Adlı Kullanıcıdan Alıntı: @wiseman
Öncelikle hız için yazmamı daha önemli sorgumu daha önemli buna karar vermende fayda var
Eğer yazma sırasında hızın çok büyük önemi yoksa ve önem sorgu sırasında ise indexleri kaldırıp @meko nun tavsiyesini dikkate almanı öneririm.
indexler sorgularda hız kazandırır doğrudur fakat yaza sırasında hızı düşürür. bunuda göz ardı etmemenizi öneririm.
@
meko nun söylemiş olduğu işlemi zaten temp tablo oluşturarak yapmıştım ve hala da bu yapı devam etmekte. Ancak önemli olan sorgunun bana hızlı gelmesiydi. Sonrasını zaten temp tabloya yazarak ara tablo ile hesaplamaları devreye alıyorum. İlginize teşekkür ederim.
Yazılımcı, kahveyi koda çeviren bir organizmadır.