Lista plików do pobrania - w folderach czy w mysql |
Lista plików do pobrania - w folderach czy w mysql |
17.06.2019, 17:03:35
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 10.04.2017 Ostrzeżenie: (0%) |
Posiadam na stronie kilka tysięcy podstron. Większość z tych podstron będzie mieć załączony plik lub kilka plików. Jakie rozwiązanie jest bardziej optymalne.
1. Tworzę katalog "pliki/$id_strony/" i wrzucam do tego katalogu załączniki do danej podstrony. Po wejściu na podstronę, sprawdzam czy istnieje katalog o takim samym id jak strona i jeśli tak, to listuję pliki z tego katalogu i tworzę odpowiednie linki do tych plików 2. Wrzucam pliki do katalogu z datą (np. "pliki/2019-06/") i ścieżkę do pliki zapisuję w mysql. Po wejściu na podstronę wyświetlam linki z mysql. Wygodniej byłoby mi skorzystać z pierwszej metody. Zastanawiam się jednak, czy duża ilość podfolderów w przypadku pierwszej metody będzie miała znaczący wpływ na wydajność? Ten post edytował adiadi 17.06.2019, 17:05:31 |
|
|
17.06.2019, 17:57:17
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 045 Pomógł: 141 Dołączył: 19.09.2006 Skąd: B-tów Ostrzeżenie: (0%) |
Skoro strony mają oddzielne pliki to dobrym pomysłem jest dodanie id strony do ścieżki.
Zapis daty tak ale ja bym proponował raczej na zasadzie Y/m/d/ czyli łącznie $id_strony/Y/m/d/ w ten sposób ograniczasz ilość plików na katalog. Oczywiście sam serwer przyjmie duże ilości plików w katalogu ale jak przyjdzie ci coś zrobić z katalogiem w którym masz kilkaset tysięcy plików to szczerze współczuję. Listowanie plików z katalogu to nie najlepszy pomysł, lepiej zapisywać ścieżki w bazie. Będzie to dużo wydajniejsze i nawet powiedziałbym że łatwiejsze. |
|
|
17.06.2019, 20:55:15
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 10.04.2017 Ostrzeżenie: (0%) |
$id_strony/Y/m/d/ w ten sposób ograniczasz ilość plików na katalog. Podkatalogi Y/M/d w katalogu $id_strony raczej nie jest potrzebne. Do strony o jednym ID będzie dodane zazwyczaj ok. 0-4 plików. Czasami będzie więcej, ale raczej nigdy nie przekroczy to 15 plików. Jednak stron będzie kilka, a nawet kilkanaście tysięcy i głównie chodzi mi o to, czy problemem wydajnościowym nie będzie kilka-kilkanaście tysięcy katalogów (jeden katalog dla każdej strony). Z Twojej wypowiedzi wnioskuję, że najlepiej połączyć obie metody, które chciałem uzyć. Trzymać pliki z katalogu, który zawiera w nazwie $id_strony, a ścieżkę do nich (w zasadzie wystarczy sama nazwa pliku, bo $id_strony będę znać) przechowywać w mysql. |
|
|
Wersja Lo-Fi | Aktualny czas: 9.05.2024 - 23:01 |