![]() |
![]() ![]() |
![]() |
![]()
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 -------------------- |
|
|
![]()
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.
-------------------- Prank - for the fun. Mac - for the simplicity. Deviantart - for the kick.
Life is ours, We live it our way -- Metallica |
|
|
![]()
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 ...
-------------------- |
|
|
![]()
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 ![]() Oczywiscie ze opcja b - elastyczna, latwe wyszukiwanie, itp. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
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.
-------------------- Prank - for the fun. Mac - for the simplicity. Deviantart - for the kick.
Life is ours, We live it our way -- Metallica |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 441 Pomógł: 71 Dołączył: 3.09.2007 Skąd: wrocław Ostrzeżenie: (0%) ![]() ![]() |
To nie jest "ogromna". To jest małe pierdniecie dla bazy ![]() Oczywiscie ze opcja b - elastyczna, latwe wyszukiwanie, itp. No może z tym słowem "ogromna" troszkę przesadziłem ![]() -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 02:13 |