PDA

Orijinalini görmek için tıklayınız : Projemiz için - Veritabanı Optimizasyon İlanı


BR9
17-05-2019, 20:21:46
Herkese Merhabalar(Ücretli Veritabanı Optimizasyon İlanıdır),

Geliştirmiş olduğumuz bir projemiz mevcut ve halen geliştirilmeye devam ediyor.
Veri yükleme testi sonrasında MySQL/MariaDB optimizasyonunun hiç iyi olmadığını farkettik.
Veritabanı motoru INNODB ve ilişkisel bir veritabanı.
300K veri olan bir tabloda +300K tablo ile 3 farklı join yapıldığında (toplamda 6-8 arası join mevcut) Pagination/Sayfalama yapısını kullanarak 15 veri çektiğimizde
Toplam sorgu süresi 6-9 saniye maalesef. Büyük bir hata ve yanlışlık var.
Tarafımca bu konuda uzak masaüstü bağlantısı ile destek almam gerekiyor. (Sistem hiçbir şekilde karışık değil ve optimizasyon ile ilgilenecek olan kişiye ihtiyacı olan tüm bilgiler(basit) bir şekilde anlatılacaktır.
Gelelim asıl duruma
-----------------------------------------
- Veritabanı konusunda gayet bilgili ve başarılı.
- İlişkisel veritabanı(INNODB) kullanımına 100% derecede hakim.
- INNODB için Sunucu konfigürasyon ayarlarına az da olsa hakim olan(Linux kullanabilen)
- Subquery(iç içe sorgu) veya sorguları hızlandırabilmek için alternatif çözümler sunabilecek
- En azından 6-8 saniyede veri gelmesinin sebebini bulabilecek ve bunu milisaniyelere düşürebilecek bilgiye sahip.
- Active Records kullanımına hakim(CI 3 Kullanılıyor)
- Stored Procedure kullanımına hakim veya ihtiyaç duyuluyorsa yönlendirebilecek.
- Index kullanımına hakim ve mantığını anlatabilecek.
----------------------------------------
2. Asıl mesele olarak;
İlgilenicek olan bilir kişi gelip tüm veritabanına bakmayacak.(Genel bir ilişkilendirme kontrolü doğru veya değil mi diye bakılabilir.)
Problem yaşadığımız 1 tablo ve buna bağlı 2 tablo var(JOIN)
Burada ki problem çözüldüğünde tarafımca sorunu öğreneceğim için diğer tablolara gerekli çözümü ben sağlayacağım.
----------------------------------
Not : Bu sadece optimizasyon ilanıdır. Lütfen 1 Byte hesabını bile yapan bilgili Veritabanı uzmanları yazabilirse çok sevinirim.
Uzun bir iş değildir hatta bilgili bir kişinin kısa sürede çözüme ulaşacağını düşünüyoruz.
Sistem geliştirilme aşamasında olduğundan tüm veriler test/deneme verileridir. Canlı olan bir durum yoktur.
Teşekkürler, dönüşünüzü bekliyorum.