Arama butonu
Bu konudaki kullanıcılar: 1 misafir
6
Cevap
605
Tıklama
0
Öne Çıkarma
Mysql den nasıl daha hızlı resim çekilir?
L
8 yıl
Onbaşı
Konu Sahibi

Merhaba arkadaşlar
Msqsl veritabanına blob tipinde bir değişken tanımladım ve androidden imageleri bitmap olarak alarak veritabanına kaydedebiliyorum.Sorunum şu, veritanından birçok row çekmem gerekiyor ve o zaman bitmap datalar geldiği için veriler çok yavaş geliyorlar.Verilerin daha hızlı gelmesi için imageleri farklı bir şekilde kaydetmek ya da daha farklı bir fikri ve tavsiyesi olan arkadaşlar yardımcı olurlarsa severim..



< Bu ileti mobil sürüm kullanılarak atıldı >

B
8 yıl
Onbaşı

Çekmen gereken rowlarda eğer resimlere ihtiyacın yoksa onları sorgunun dışında bırakabilirsin.Ama yok onlara da ihtiyacım var dersen bence en mantıklısı bir sunucu ya da hosting alıp resimleri orada bir klasör içinde tutup veritabanında sadece linkini saklayarak daha hızlı sorgular gerçekleştirebilirsin.



M
8 yıl
Yarbay

Resimlerin sadece path ini mysql e kaydet. Resmin kendisi file olarak dursun.



< Bu ileti tablet sürüm kullanılarak atıldı >

M
8 yıl
Çavuş

Performans ve verimlilik açısından veritabanının içerisine resim kaydetmek çok riskli ve tercih edilmeyen bir yol.

En iyisi resimleri yedek disk üzerinde bir kitaplığa kaydettirmen ve oradan çekerek ekranda göstermen.

Bu her profesyonelin tercih ettiği bir yoldur.

Şayet, resim çok değil ise veritabanına kaydettirebilirsiniz..


Bu mesaja 1 cevap geldi.
L
8 yıl
Onbaşı
Konu Sahibi

Arkadaşlar söylediğiniz gibi resimleri bir alana kaydedip veritabanında kayıtlı alanın yolunu tutuyorum bu şekilde daha iyi ve hızlı oldu .

teşekkürler..



< Bu ileti mobil sürüm kullanılarak atıldı >

M
8 yıl
Yarbay

quote:

Orijinalden alıntı: manuple

Performans ve verimlilik açısından veritabanının içerisine resim kaydetmek çok riskli ve tercih edilmeyen bir yol.

En iyisi resimleri yedek disk üzerinde bir kitaplığa kaydettirmen ve oradan çekerek ekranda göstermen.

Bu her profesyonelin tercih ettiği bir yoldur.

Şayet, resim çok değil ise veritabanına kaydettirebilirsiniz..

göreceli olarak buna katılmıyorum. bence tam aksine resimler file olarak saklanmamalı.
Neden Database
1- Yedekleme kolaylığı.
2- Yatay ,dikey ölçekleyebilme.
3- Güvenlik ve yetkilendirme Veritabanlarının güvenlik ve yetkilendirme yetenekleri file dan çok çok fazla ve çeşitli.
4- File name çakıştı derdi yok

Sunu söyleyim ben resimleri söyle yapmayı tercih ediyorum. ayrı bir uygulama olarak sadece 2 işlevi var
resim yüklemek ve istenilen size da (resize ve crop yaparak) kullanıcıya vermek. Orada da database de tutuyorum.

Çok sık bu tartışma insanların aklına geliyor file vs db hatta internette ararsanız bitmek bilmeyen bir sürü tartısma da mevcut.
Şu an bulamadım lakin normalde kafa kafaya performansları. sonuçta db de file olarak tutuluyor.

Sunlardan emin olmak gerekli.
1- Indexler yapıldı mı? Index politikası doğru mu?
2- Donanima uygun Sql Lisans türü kullanıyor muyum (sanırım sql server da express 1 cpu kullanıyordu. hali ile o performansı ektiler)
3- Donanimlar ve yük denk mi? (coğu shared hostingde db fazla yük altında.)
4- Hangi sql? Yani simdi 50 gb datayı tutup sqlite ,access gibi filebased bir sql da sakladıksa belki bunu da sorgulamalıyız.


http://stackoverflow.com/questions/2147902/is-it-faster-to-access-data-from-files-or-a-database-server

Bu arada illa SQl tarzı ilişkilsel veritabanı kullanmak zorunda da değiliz. Benchmark yapıp file vs SQL vs Nosql yapılabilir özellikle nosql da kolay yatak ölçekleyebilme önemli performans avantajı getirebilir.

Ki cok file varsa aslında CDN kullanmak lazım.
cloudinary.com
imgix.com

gibi servisler de kullanılabilir.





< Bu mesaj bu kişi tarafından değiştirildi mahoni_38 -- 15 Mart 2017; 14:52:19 >

L
8 yıl
Onbaşı
Konu Sahibi

Şuanda mysql veritabanını bırakıp firebase üzerinden devam ediyorum. Geçeli 2 hafta kadar oldu ve gayet memnunum.Söylediğin gibi nosql ve depolama , auth.. gibi birçok kolaylıkta sağlıyor ve realtime.



< Bu ileti mobil sürüm kullanılarak atıldı >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.