Paweł G. Managing Director
Temat: Autouzupełnianie - najlepsze praktyki
Bardzo często AJAX ma zastosowanie do wyświetlania podpowiedzi na podstawie wpisanych pierwszych liter w formularzach.Przeważnie sytuacja wygląda tak, że mamy jakieś nazwy w tabeli i po wpisaniu pierwszych znaków przez użytkownika przeszukujemy bazę i wyświetlamy nazwy, które zaczynają się na dany ciąg znaków.
Przy małej tabeli z nazwami taki schemat działa bardzo dobrze. Jednak problemy pojawiają się przy większej ilości rekordów, kiedy wydajność takie skryptu istotnie maleje.
Przy bezpośrednim przeszukiwaniu dużej tabeli bazy MySQL zapytanie może być dosyć wolne.
Dlatego próbuję także rozwiązania z zapisywaniem nazw do pliku i odczytywaniem nazw z niego podczas uzupełniania. Działa to trochę szybciej, niż bezpośrednie pobieranie z bazy, ale wciąż trochę wolno.
W swoich skryptach stosuję również bufor, który przez określoną część sekundy nie wywołuje zapytania do serwera. Jest to bardzo pomocne, ponieważ nie powoduje wysyłania zapytania po każdym wpisywanym znaku, kiedy są one wpisywanie bardzo szybko.
Chciałbym się zapytać praktyków, jak Wy to robicie? Chodzi mi o sam schemat działania takiego mechanizmu. Gdzie tutaj jest wąskie gardło?