Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][inne] Mod_rewrite i linki bez podawania ID
GregoryW
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 17.09.2009

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


Witam, mam pytanie jak zrobić następującą sprawę - w tym momencie stosuję mod_rewrite i mam takie linki jak:

www.domena.pl/user/12/Gregory

A chciałbym uzyskać efekt:

www.domena.pl/user/Gregory

Moje pytanie odnosi się do tego, jak najlepiej (najszybciej?) to osiągnąć, zakładając, że int 12 z pierwszego linka odnosi się do UserID w bazie danych? Są na to jakieś proste metody? Wydaje mi się, że przeszukiwanie bazy danych po stringach jest długie, na pewno dłuższe niż po liczbach i w dodatku z kluczem PK. Mam średni dostęp do konfiguracji serwera.

Czytałem trochę w google, jednak wszystko sprowadzało się do rekonfiguracji serwera.

Pozdrawiam
Gregory
Go to the top of the page
+Quote Post
kipero
post
Post #2





Grupa: Zarejestrowani
Postów: 233
Pomógł: 50
Dołączył: 28.10.2006
Skąd: Radom

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


Nadajesz indeks dla pola z nazwą użytkownika i wyszukujesz jak po ID. Bez indeksu rzeczywiście może zająć to trochę czasu.
Go to the top of the page
+Quote Post
GregoryW
post
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 17.09.2009

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


czy to nie jest wolniejsze niż szukanie po liczbach?
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




Szukanie po ciągu tekstowym zawsze będzie wolniejsze niż po liczbie.
Go to the top of the page
+Quote Post
GregoryW
post
Post #5





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 17.09.2009

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


Miałem jeszcze jeden pomysł, ponieważ i tak dla każdego usera tworzę katalog na jego stuff. Można stworzyć katalog o takiej samej nazwie jak user i srodku zapisać do pliku, powiedzmy user.id jego ID, które nadała mu baza danych, później znamy statyczną ścieżkę, odczyt pliku jest szybszy niż połączenie do bazy danych - i mamy jego ID. Co wy na to?
Go to the top of the page
+Quote Post
kipero
post
Post #6





Grupa: Zarejestrowani
Postów: 233
Pomógł: 50
Dołączył: 28.10.2006
Skąd: Radom

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


Jedno zapytanie do bazy danych będzie szybsze niż odczyt pliku. I tak zresztą, jak wnioskuję, łączysz się z bazą danych, żeby pobrać informacje o userze, więc połączenie, tak czy siak, musisz nawiązać.
Go to the top of the page
+Quote Post
GregoryW
post
Post #7





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 17.09.2009

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


Właśnie zastanawia mnie to, czy odczyt z pliku ID i później dopiero wyszukiwanie informacji po ID w bazie nie będzie szybsze niż przewertowanie (nawet po kluczu) 300 tys rekordów i szukania pola, powiedzmy varchar(128) z nazwą użytkownika. We wcześniejszym przypadku ID miałem od razu i nie było z tym żadnych kłopotów (IMG:style_emoticons/default/winksmiley.jpg)

Pozdrawiam
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




To spróbuj po prostu. ;]
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 - 23:59