![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 1 Dołączył: 4.05.2019 Skąd: PHP5.6 Ostrzeżenie: (0%) ![]() ![]() |
Zastanawiam się czy przy kilkunastu tysiącach rekordów w SQL (MariaDB) będzie duży problem jeżeli będę wyszukiwał rekordy za pomocą nazwy(VARCHAR) zamiast id(INT)?
Chodzi o wczytywanie zawartości z kilku tabel za pomocą wartości textowej z linku $_GET . Kiedyś, kilka lat temu gdzieś wyczytałem że generuje to dużo większe obciążenie i nie warto, a mi zależy na ładnych linkach bez cyfr i zastanawiam się jak podejść do problemu... Miał ktoś może już z tym doświadczenie? Myślę nad takim rozwiązaniem: 1. Utworzyć nową tabele `link` z VARCHAR (nazwa linku) i INT (id linku), a następnie po wprowadzeniu linku w adres przeglądarki zapytać tabele `link` i dopiero później zapytać właściwe tabele z treścią po ID - ale czy to będzie szybsze niż szukanie bezpośrednie po nazwie w tabeli pierworodnej? tym bardziej, że link będzie się składać z dwóch wartości textowych... Jeszcze nad tym nie pracuje, ale czeka mnie to w najbliższych dniach i myślę jak to ugryżć najlepiej wydajnościowo. Może jest na to konkretne rozwiązanie? z góry dzięki za komentarze. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 1 Dołączył: 4.05.2019 Skąd: PHP5.6 Ostrzeżenie: (0%) ![]() ![]() |
Hm.. może posłużmy się jakimś przykładem:
Link: local/podstrona.php?load=nazwa Zostanie przerobiony za pomoca htaccess na: local/podstrona/nazwa Teraz za pomocą $_GET['load'] bede musial wczytac dane z kilku tabel (A,B,C,D) i tu pojawia się pytanie czy w kazdej tabeli utworzyc kolumne `link` (link==nazwa) i za pomoca `link` wczytywac odpowiednie dane, czy moze lepiej utworzyc jedna dodatkową tabele (X) gdzie najpierw znajde globalne `ID` dla podstrony za pomoca `link==nazwa` i pozniej za pomoca `ID` zapytac o dane tabele (A,B,C,D)? z tyłu głowy ciągle myślę o wydajności znajdywania tekstu w SQL zamiast liczb. Troche łapatologiczny opis, ale lepszy taki niz wcale^^ dzięki! Ten post edytował phpuser88 5.12.2021, 18:13:48 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 17:15 |