MySQL Veri Tabanı Yavaşlama Sorunu...

Diğer veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
debug
Üye
Mesajlar: 7
Kayıt: 27 Ağu 2010 08:26

MySQL Veri Tabanı Yavaşlama Sorunu...

Mesaj gönderen debug » 24 Eyl 2013 12:57

Sa Mrb,

Konuyu doğru yeremi açtım bilmiyorum yetkili arkadaşlar gereken bölümün altına taşırlarsa sevinirim.

MySQL veri tabanı kullanıyorum. Veri Tabanına bağlanıp bir çok sorgu kurarak karşılaştırmalar yaparak MS Excel 'e kayıt atarak rapor hazırlıyorum.

Exe hiç değişmemesine rağmen bazen bu rapor 15-20 dk sürüyor (bizim için bu kabul edilebilir bir süre)
Bazende bu süreç 3-4 saati buluyor veya hiçbir zaman sonuçlanmıyor.

Yazdığım programda bir bug mı var?
Ama olsa aynı verilerle ve aynı Exe ile bazen 15 dk sürmesi bazende hiç sonuçlanmaması Exe 'de değilde sanki Veri Tabanında - Servisinde bir sorun var gibi düşündürüyor bana...

Kullandığım;
Veri Tabanı : MySQL 5.1.51-community via TCP/IP
Veri Tabanı Dosyası Türü: InnoDB
Veri Tabanı Sunucusu Donanımı : Xeon E5620 işlemci, 6 GB ram
Yazılım Dili-IDE : Delphi 2007
IDE içinden Veri Tabanı Bağlantı Componenti : MyDAC 5.80.0.50

Bu konuda tecrübesi - fikri olan varsa paylaşırsa sevinirim.

Teşekkür ederim.

Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7500
Kayıt: 09 Haz 2003 11:26
Konum: İstanbul
İletişim:

Re: MySQL Veri Tabanı Yavaşlama Sorunu...

Mesaj gönderen mussimsek » 25 Eyl 2013 07:58

A.S.

* Raporu Stored Procedure ile yapmadıysanız, stored procedure'e çevirin.

* Where kısmında çok sorguladığınız alanları indeksli değilse indeksleyin. Örneğin tabloda tarih ve il alanlarına göre where kısmında kullanıyorsanız, bu alanları indeksleyin. Tabii where kısmında geçen tüm alanları indekslemek doğru olmaz. Her tablo için en fazla 2-3 alanı indeksleyin.

* Sorguda en çok elemeyi yapacak şartı başa koyun. Bu genelde tarih kriteridir.

Sorgunuzu gönderirseniz belki başka öneriler olabilir.

Kolay gelsin.

Cevapla