Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wydajność, dwa różne przypadki
zzeus
post
Post #1





Grupa: Zarejestrowani
Postów: 441
Pomógł: 71
Dołączył: 3.09.2007
Skąd: wrocław

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


Witam.
może ktoś z was przeprowadził kiedyś jakieś testy na wydajność, w takim przypadku:
mamy w tabeli np. produkty, i każdy produkt jest opisany przez słowa kluczowe
a. lepiej trzymac te słowa kluczowe w polu text i przeszukiwać za pomocą like
b. zrobić tablice słownikową ze słowami kluczowymi, i dodatkową tablice która będzie łączyć produkt ze słowami kluczowymi

Które rozwiązanie lepsze, gorsze i dlaczego ?

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
bregovic
post
Post #2





Grupa: Zarejestrowani
Postów: 562
Pomógł: 15
Dołączył: 8.08.2003
Skąd: Denmark/Odense

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


Testów, co prawda, nie przeprowadzałem, ale mogę tobie powiedzieć że jeśli masz małą ilość produktów to nie ma znaczenia. Jeśli natomiast masz ich trochę więcej, to HABTM które opisujesz sprawdzi się lepiej - jest bardziej elastyczne (możesz szukać w dwie strony) i odpada ci ten paskudny LIKE.
Go to the top of the page
+Quote Post
zzeus
post
Post #3





Grupa: Zarejestrowani
Postów: 441
Pomógł: 71
Dołączył: 3.09.2007
Skąd: wrocław

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


Ilość produktów będzie duża, liczona w tysiącach. Z tym że jeśli wybiorę opcję b to tabela łącząca będzie ogromna, kilkadziesiąt tysięcy rekordów ...
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
tabela łącząca będzie ogromna, kilkadziesiąt tysięcy rekordów

To nie jest "ogromna". To jest małe pierdniecie dla bazy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Oczywiscie ze opcja b - elastyczna, latwe wyszukiwanie, itp.
Go to the top of the page
+Quote Post
bregovic
post
Post #5





Grupa: Zarejestrowani
Postów: 562
Pomógł: 15
Dołączył: 8.08.2003
Skąd: Denmark/Odense

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


Nawet jeśli tabela łącząca będzie ogromna, będzie wciąż zawierała tylko dwie kolumny - tag_id i product_id. Linkowanie poprzez taką tabelę jest dość proste, i można to załatwić bez szczególnie skomplikowanego SQL. Ale to tak na prawdę zależy od twojego użycia tagów. Jeśli np chcesz szukać produktów poprzez tagi, to IMO dość prosty SELECT będzie szybszy niż LIKE na tysiącach rekordów.
Go to the top of the page
+Quote Post
zzeus
post
Post #6





Grupa: Zarejestrowani
Postów: 441
Pomógł: 71
Dołączył: 3.09.2007
Skąd: wrocław

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


Cytat(nospor @ 5.11.2008, 11:54:44 ) *
To nie jest "ogromna". To jest małe pierdniecie dla bazy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Oczywiscie ze opcja b - elastyczna, latwe wyszukiwanie, itp.


No może z tym słowem "ogromna" troszkę przesadziłem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
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: 23.08.2025 - 17:01