Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][inne] Mod_rewrite i linki bez podawania ID
Forum PHP.pl > Forum > Przedszkole
GregoryW
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
kipero
Nadajesz indeks dla pola z nazwą użytkownika i wyszukujesz jak po ID. Bez indeksu rzeczywiście może zająć to trochę czasu.
GregoryW
czy to nie jest wolniejsze niż szukanie po liczbach?
erix
Szukanie po ciągu tekstowym zawsze będzie wolniejsze niż po liczbie.
GregoryW
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?
kipero
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ć.
GregoryW
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 winksmiley.jpg

Pozdrawiam
erix
To spróbuj po prostu. ;]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.