Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Koncepcja tabeli
seth-kk
post 24.08.2009, 13:25:50
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 27.08.2009, 01:35:38
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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.06.2025 - 16:48