Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]wydajność tabeli ulubionych
-tutmizos-
post
Post #1





Goście







Witam,
czy sposób a będzie wystarczająco wydajny przy dużej ilości rekordów?

a.
id id_user id_favorite
1 345 67
1 345 10

b.
czy
id id user id_favorite
1 345 67,10


pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
session
post
Post #2





Grupa: Zarejestrowani
Postów: 112
Pomógł: 22
Dołączył: 11.04.2010
Skąd: Tarnów

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


Cytat
to są totalne herezje

Z tym się nie zgodze. O ile wydajność int jest naturalnie lepsza nawet wynikająca z podstaw operowania komputerów na liczbach, jednak sposoby wyciągania danych z pkt. 2 mojego poprzedniego posta raczej powinny przynieść zamierzony efekt, ale samo like nie jest optymalne. Uświadomiłem sobie również, że przecież wcale nie musi to być TEXT jak sugerowałeś, tylko dobrze przemyślany VARCHAR lub CHAR.

Cytat

Wydaje mi się, że odnosi się to bardziej do autoincermentowania i używania tekstowych indexów, a przecież tutaj nadal pozostają INTowe indexy, przecież nie mówiłem nic o używaniu pełnych tekstowych nazw (IMG:style_emoticons/default/wink.gif)

W jaki sposób są przechowywane w bazach hasła ? Są hashowane na kilkuset bitowe stringi, a następnie zapisywane przy każdym użytkowniku. W nieraz ogromnej ilości wpisów skrypty porównują (tekstowe) nazwy użytkowników i hashe i jest to optymalne rozwiązanie, z tym, że jeden użytkownik to jedno hasło.

Moim zdaniem wszystko zależy od późniejszego wykorzystywania danych z bazy i odpowiednie rozwiązania należy dobierać do założonych oczekiwań.

Ten post edytował session 11.05.2013, 23:34:06
Go to the top of the page
+Quote Post
r4xz
post
Post #3





Grupa: Zarejestrowani
Postów: 673
Pomógł: 106
Dołączył: 31.12.2008

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


Cytat(session @ 12.05.2013, 00:33:26 ) *
Z tym się nie zgodze. O ile wydajność int jest naturalnie lepsza nawet wynikająca z podstaw operowania komputerów na liczbach, jednak sposoby wyciągania danych z pkt. 2 mojego poprzedniego posta raczej powinny przynieść zamierzony efekt, ale samo like nie jest optymalne. Uświadomiłem sobie również, że przecież wcale nie musi to być TEXT jak sugerowałeś, tylko dobrze przemyślany VARCHAR lub CHAR.

Popatrz:
Kod
id | id_user | ids_fav
---+---------+-----------------------
1 | 1       | 1,23,62,24,74,436,242
2 | 3       | 1,2,3,4,5,6,7,...,1500

Taki prosty przykład - jaki CHAR/VARCHAR byś tutaj dał? (IMG:style_emoticons/default/smile.gif)

Cytat(session @ 12.05.2013, 00:33:26 ) *
W jaki sposób są przechowywane w bazach hasła ? Są hashowane na kilkuset bitowe stringi, a następnie zapisywane przy każdym użytkowniku. W nieraz ogromnej ilości wpisów skrypty porównują (tekstowe) nazwy użytkowników i hashe i jest to optymalne rozwiązanie, z tym, że jeden użytkownik to jedno hasło.

To jest przykład z zupełnie innej bajki, tam porównujesz pełne pole, a nie korzystasz z totalnie niewydajnego przeszukiwania ciągu znaków.

Cytat(session @ 12.05.2013, 00:33:26 ) *
sposoby wyciągania danych z pkt. 2 mojego poprzedniego posta raczej powinny przynieść zamierzony efekt

...jeszcze by go trzeba było udoskonalić: mamy LIKE %,1,% tak? To nam fav o id=1 nie znajdzie (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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: 10.10.2025 - 16:26