MySQL PHP ile bir vitrin uygulaması üzerinde çalışıyorum. Şu anda 4 tablolarında benim veri depolama ediyorum: ürün hatları için bir tane, bu ürün çizgilerin içinde belirli ürünler için bir tane, ürün görüntüler için bir, ve görüntüler hangi spesifik ürünlere bağlı belirten bir tane. Her özel ürün bir ürün hattına ait, her ürün görüntü birkaç belirli ürünlere ait olabilir ve her bir spesifik ürün birkaç görüntü olabilir. Benim tablo şöyle:
ProductLines
id, name, description, etc.
SpecificProducts
productLineID
id, color, size, etc.
ProductImageLinks
specificProductID
imageID
Images
id, imageFileLocation, name, etc.
Bu güzel, bu şekilde çalışıyor, ancak alma amaçları için çok etkili değil gibi görünüyor.
Örneğin, ben bu ürün hattından rasgele seçilen bir görüntünün küçük resim ile birlikte her bir ürün hattını listeleyen bir sayfa var. Ben her şeyden önce ürün hatları listesi için veritabanını sorgulamak zorunda yapmak için, daha sonra each product line görüntüleri ilişkili olan özel ürünlerin tüm almak için bunlardan birini seçmek için ayrı bir sorgu gerçekleştirmek ve görüntü almak için tekrar sorgulamak.
Ben kabul başka bir olasılık belirtmek görüntü bağlantıları tüm almak için ben bu ürün bütün satırlar için tüm özel ürünler almak için ikinci bir sorgu, bakıyorum tüm ürün hatları, üçüncü bir sorgu almak için bir sorgu kullanmak olacaktır görüntüler hangi spesifik ürünler ve tüm bu görüntüleri almak için dördüncü bir sorgu bağlanmış olan. Ben bu, çünkü sorgular azaltılmış sayısı biraz daha hızlı olacağını hayal, ama o kadar yavaş olabilir ki, ürün ve ürün ve görüntüler arasındaki bağlantıları bulmaktan yapmak için PHP için bir sürü iş bırakacaktı.
Yani benim soru, bu verileri depolamak için daha iyi bir yolu var mı? Veya veritabanına dayalı onu almak için daha iyi bir yolu zaten yerinde var? Ya da ben tespit ettik iki seçenekten biri benim en iyi bahis gerçekten?
Düzenleme: Ben aslında veritabanında görüntü dosyalarını depolamak değilim. Görüntü dosyaları dosya sisteminde saklanır. Veritabanında Benim "Görüntüler" tablosu sadece vb görüntü başlığı, alt metin gibi yararlı bilgi ile birlikte görüntü dosyasının konumunu saklar