Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 18.04.2009 Ostrzeżenie: (0%)
|
Hej,
Mam problem z przeszukaniem dużej tablicy. Tzn. mam w bazie ok 230k rekordów które pobieram do tablicy i następnie przez formularz na stronie pobieram znowu z 10k rekordów do sprawdzenia i teraz muszę zwyczajnie sprawdzić czy te z formularza występują w bazie. No i robiąc to najprościej w pętli czyli sprawdzając każdy z tych 10k czy jest w bazie 230k długo trwa. Sprawdzenie raptem 2k (a nie 10k) zajmuje już 18sek. No a 10k ? a może i 50k chcąc sprawdzić ? przecież to się będzie wykonywało z 1min...2min - bez sensu. Czy znacie jakiś sposób na jak największe przyspieszenie tego sprawdzania ? Jakiś algorytm albo funkcje ? pozdrawiam |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 6 807 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%)
|
A w jaki celu robisz to porównanie? Chcesz poinformować użytkownika ile jego danych zostanie dopisanych, etc.?
|
|
|
|
loocek [PHP] Efektywne przeszukiwanie dużej tablicy 4.02.2023, 14:25:59
trueblue Jaka to baza? Co masz na myśli pisząc rekord - jed... 4.02.2023, 14:44:34
Salvation Może po prostu przenieś przeszukiwanie na bazę - k... 4.02.2023, 16:21:38
loocek Jest to MySQL, rekord to mam na myśli jedna z kolu... 4.02.2023, 21:12:47
trueblue Pierwszą metodą jest użycie klauzuli IN. Ale tu og... 5.02.2023, 13:35:22
loocek Czy możesz rozwinąć choćby tą drugą opcję która ma... 5.02.2023, 15:29:35
trueblue 1. Tworzysz tymczasową tablicę z polem VARCHAR i i... 5.02.2023, 19:07:44
viking Do takich celów można też przemyśleć silnik memory... 5.02.2023, 19:18:15
loocek Na razie ta część MySQL:
Stworzyłem drugą tabelkę ... 5.02.2023, 22:34:56
trueblue [SQL] pobierz, plaintext SELECT lt.tytulFROM lucek... 6.02.2023, 07:58:34
loocek Ok, ten join śmiga Tzn zrobiłeś małą literówkę wi... 6.02.2023, 11:13:08 ![]() ![]() |
|
Aktualny czas: 13.10.2025 - 13:05 |