Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Struktura tabeli opisującej atrybuty obiektów z innej tabeli
awakening
post
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 12.01.2008
Skąd: Warszawa

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


Witam,

mam pewien problem, nie wiem czy uda mi się tutaj go dobrze przedstawić, ale spróbuję:

Posiadam tabelę zawierającą listę pewnych obiektów, do każdego z tych obiektów muszę przypisać bardzo dużą liczbę różnych atrybutów, na zasadzie - do id obiektu przypisany jest id atrybutu z innej tabeli (mam tabelę gdzie jest ponad 100 różnych atrybutów w trzech kategoriach), domyślam się, że sposób z utworzeniem dodatkowych kolumn w tabeli z obiektami i przechowywaniem tam id obiektów jest niezbyt rozsądny, chciałbym rozwiązać to w ten sposób:

tworzę nową tabelę o następującej strukturze:


Kod
+---+-----------+--------+-----------+----------+
|ID | OBJECT_ID | ATR_ID | ATR_NAME  | ATR_TYPE |
+---+-----------+--------+-----------+----------+
| 1 |    10     |   1    | atrybut 1 |    1     |
| 2 |    10     |   5    | atrybut 2 |    1     |
| 3 |    10     |   3    | atrybut 8 |    1     |
| 4 |    10     |   15   | atrybut 4 |    3     |
| 5 |    10     |   8    | atrybut 5 |    2     |
| 6 |    02     |   21   | atrybut 7 |    2     |
+---+-----------+--------+-----------+----------+



Tylko teraz pytanie czy jeżeli będę miał np. 1000 obiektów do każdego obiektu będzie przypisane powiedzmy średnio 50 atrybutów co daje nam 50 tyś rekordów w tabeli z atrybutami obiektów, czy to nie skilluje bazy? Można to rozwiązać w jakiś inny sposób? Dzięki za pomoc, pozdrawiam.

Ten post edytował awakening 13.06.2009, 13:24:06
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Jeśli masz dobrze pozakładane indeksy, to nie powinno być problemu.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
awakening
post
Post #3





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 12.01.2008
Skąd: Warszawa

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


a co jak baza obiektów się rozrośnie o kolejny tysiąc albo dwa? nie ma na to innych rozwiązań?
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Spokojnie, są bazy, które wytrzymują i setki tysięcy.

Po to zostały zaprojektowane, żeby z nich korzystać. Na mocniejszych systemach są takie, które trzymają i kilka milionów z czasem selectów max kilka sekund.

Najważniejsze: indeksy, indeksy i jeszcze raz indeksy. Bez tego i sto rekordów będzie katorgą.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
destroyerr
post
Post #5





Grupa: Zarejestrowani
Postów: 879
Pomógł: 189
Dołączył: 14.06.2006
Skąd: Bytom

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


Możesz polecić dobre materiały opisujące problem indeksów, jak zakładać żeby było dobrze i żeby nie przedobrzyć?
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Pod latarnią najciemniej? http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
awakening
post
Post #7





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 12.01.2008
Skąd: Warszawa

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


Czyli logicznie rzecz biorąc powinienem założyć indexy na kolumnę OBJECT_ID i ATR_ID, dobrze myślę?
Go to the top of the page
+Quote Post
erix
post
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Masz EXPLAIN, to będziesz wiedział. [;


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
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 Aktualny czas: 21.08.2025 - 14:15