Tidak secara inheren, tetapi jika Anda memiliki Gumpalan besar yang menyumbat tabel dan cache memori Anda, itu pasti akan menghasilkan hit kinerja.
Ya, ini adalah pendekatan yang umum. Anda biasanya akan melakukan sesuatu seperti memiliki folder yang dinamai menurut setiap tabel yang terkait, yang berisi nama file hanya berdasarkan kunci utama (idealnya bilangan bulat; tentu saja tidak pernah apa pun yang dikirimkan pengguna).
Apakah ini ide yang lebih baik? Tergantung. Ada keuntungan penerapan-kesederhanaan untuk hanya memiliki satu penyimpanan data, dan tidak perlu khawatir memberi pengguna web akses tulis ke apa pun. Juga jika mungkin ada beberapa salinan aplikasi yang berjalan (misalnya penyeimbangan beban aktif-aktif) maka Anda perlu menyinkronkan penyimpanan, yang jauh lebih mudah dengan database daripada dengan sistem file.
Jika Anda menggunakan sistem file daripada gumpalan, pertanyaannya adalah, apakah Anda membuat server web melayaninya dengan mengarahkan Alias ke folder?
- + sangat cepat
- + cache dengan baik
- - konfigurasi server tambahan:direktori virtual; membutuhkan ekstensi file yang sesuai untuk mengembalikan
Content-Type
yang diinginkan - - konfigurasi server tambahan:perlu menambahkan
Content-Disposition: attachment
/X-Content-Type-Options
header untuk menghentikan IE mengendus HTML sebagai bagian dari tindakan anti-XSS
atau apakah Anda menyajikan file secara manual dengan meminta skrip sisi server mengeluarkannya, karena Anda harus menyajikannya dari gumpalan MySQL?
- - berpotensi lambat
- - memerlukan sedikit penanganan manual If-Modified- Since dan ETag untuk menyimpan cache dengan benar
- + dapat menggunakan metode kontrol akses aplikasi sendiri
- + mudah untuk menambahkan header Content-Type dan Content-Disposition yang benar dari skrip penayangan
Ini adalah pertukaran yang tidak ada satu jawaban yang diterima secara global.