![]() |
![]() ![]() |
![]() |
![]()
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 |
|
|
![]()
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.
|
|
|
![]()
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?
|
|
|
![]()
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.
|
|
|
![]()
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?
|
|
|
![]()
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ć.
|
|
|
![]()
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 |
|
|
![]()
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. ;]
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 23:59 |