![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 25.06.2003 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
Witam,
W czasie prób optymalizacji działania mojej bazy nasuneło mi się kilka pytań, może ktoś sie już z tym spotkał: 1. Kolejka jest budowana na podstawie zadanych kryteriów wyszukiwania (przekazanych przez formularz). Jak optymalnie pobrać liczbę pasujących rekordów (użyte do stronicowania i informacji dla użytkownika) a następnie pobrać ich tylko XX (ustalone w LIMIT). Ja mam to zrobione teraz tak i czuję że takie podwójne zapytanie nie jest super optymalne:):
2. Na każdej podstronie korzystającej z bazy danych używam , wg manuala jeśli połączenie jest otwarte, to zwraca to id tego połączenia. Czy cos da zamykanie połączenia ( ) pod koniec skryptu. A może zamiast normalnych połączen dać stałe? 3. Wyszukuję w polach TEXT ciągi znaków przez klauzulę: ...pole_txt LIKE %$klucz%... W manualu MySql znalazłem coś takiego: Cytat The index also can be used for LIKE comparisons if the argument to LIKE is a constant string that doesn't start with a wildcard character ...a z drugiej strony: Cytat MySQL 4.0 and up performs an additional LIKE optimization. If you use ... LIKE '%string%' and string is longer than three characters, MySQL will use the Turbo Boyer-Moore algorithm to initialize the pattern for the string and then use this pattern to perform the search quicker Czy to znaczy że jednak warto będzie na te pola textowe w których jest szukanie nałożyć FULLTEXT INDEX? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 10:44 |