![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 292 Pomógł: 0 Dołączył: 10.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam w bazie danych rekordy - każdy z nich ma nazwę. Aktualnie jest ich tylko 3tys. ,ale przewiduję liczbę ok. 2 mln. i mam adres url mojej strony: www.mojastrona/mojanazwazbazy/ i teraz mam zmienna w php $zmienna = 'mojanazwazbazy'; tworzę w pętli tablice[$id] = $nazwa_z_bazy; i wyszukuję wartość $zmienna w $tablicy. Tyle, że tym sposobem muszę pobrać i przeczesać 2 mln rekordów. Bardziej wydajnie było by wyciągnąć id rekordu w sposób WHERE nazwa = "'.$zmienna.'" ![]() Jak to się powinno robić w tabelach z dużą zawartością rekordów? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
WHERE nazwa = "'.$zmienna.'" + założenie indeksu na pole `nazwa` w bazie.
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
oczywiście jako binda
![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 292 Pomógł: 0 Dołączył: 10.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
co znaczy jako binda?
i co w przypadku gdy chcę wyciągnąć po polu nazwa w którym jest "Nazwa Kategorii", a wartość którą mam w zmiennej = "nazwa-kategorii" nazwy te zmieniam swoją funkcją url(), więc co powinienem w bazie trzymać też pole nazwa_kategorii_url czy może użyć tej funkcji jakoś przy tworzeniu zapytania ? teraz trzymać dodatkowo pole z 1mln. rekordów nazwa_url to trochę słabo, ale to najlepsze wyjście ? Mysql nie ma żadnej funkcji która zamieniała by duże litery na małe i spacje na myślniki ? Ten post edytował piotr485 16.06.2016, 19:13:12 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Musisz trzymać w BD wynik z url('some text'); inaczej zajeździsz bazę a dodatkowo będziesz miał mnustwo kłopotów przez to.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
A co do bindowania http://php.net/manual/pl/pdostatement.bindparam.php
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 13:00 |