Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Koncepcja tabeli
seth-kk
post
Post #1





Grupa: Zarejestrowani
Postów: 444
Pomógł: 79
Dołączył: 26.05.2009

Ostrzeżenie: (0%)
-----


Czy projekt tabeli w stylu
  1. CREATE TABLE files (
  2. id SERIAL PRIMARY KEY,
  3. module_id INT REFERENCES modules(id) ON DELETE CASCADE,
  4. file_name TEXT,
  5. ... other file options
  6. );
  7. CREATE INDEX files_module_id ON files(module_id);

jest oplacalny z punktu widzenia bazy danych i jej optymalizacji, oraz ew calej aplikacji bazujacej na MVC?
Tzn jest sobie projekt ktory ma N modulow kozystajacych z plikow skladowanych na serwerze, kazdy modul ma wlasne foldery z plikami ale ich lista znajduje sie w jednej tabeli. W alternatywie jest tworzenie niezaleznych tabel dla kazdego modulu ktore w 90% beda wygladaly i dzialaly tak samo.
Obsluga takiej tabeli wydaje sie byc latwiejsza (jeden model, jeden controller z ktorego moga kozystac poszczegolne moduly itp), z drugiej strony to mniej triggerow w bazie, mniej indexow, mniej rekordow w tabeliach (mysle ze realnie jestem w stanie umiescic tam kilkanascie do kilkuset tysiecy rekordow i przynajmniej kilka modulow) ale wiecej pracy przy tworzeniu i rozbudowie takiego rozwiazania
Myslicie ze to sensowny pomysl?
Go to the top of the page
+Quote Post
Sajrox
post
Post #2





Grupa: Zarejestrowani
Postów: 254
Pomógł: 7
Dołączył: 9.10.2007
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Wydaje mi się że nie ma czego się obawiać że baza danych nie wyrobi. Takie rozwiązanie jest nawet konieczne.

Przy PostgreSQL to już bajka, ta baza uwielbia duzą liczbę krotek w tabeli. Tworzyłem porównywarkę cen która posiadała ponad milion produktów, do tego dochodzi drugie tyle ofert. Ale mimo tego baza działa stabilnie a strony otwierają się błyskawicznie. Co w przypadku MySql było już gorzej. Który potrafił się zawiesić.

W twoim rozwiązaniu wystarczy załozyć indexy na module_id wtedy nie będziesz miał problemu z wydajnością.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 21:10