Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Optymalizacja zapytania
soska66
post
Post #1





Grupa: Zarejestrowani
Postów: 132
Pomógł: 1
Dołączył: 3.02.2005

Ostrzeżenie: (0%)
-----


Witam

Mam takie zapytanie, ktore moze samo w sobie specjalnie dlugie nie jest, ale w polaczeniu z kilkoma tysiacami wpisow zarowno w tabeli product jak i product_option, trwa cholernie dlugo.
Mozecie podpowiedziec jakies inne rozwiazanie?

przykladowe zapytanie

  1. SELECT product.id AS id, product.sku AS sku, album_title, product.description AS description, product.price AS price, product_category.category_code AS code
  2. FROM product, product_category, product_option
  3. WHERE product.sku = product_category.product_sku AND product.sku = product_option.product_sku AND ( product.album_title LIKE '%Aitken%George%' OR product.description LIKE '%Aitken%George%' OR product.sku LIKE '%Aitken%George%' OR product_option.composer LIKE '%Aitken%George%' OR product.composer LIKE '%Aitken%George%')


Nie jestem pewien czy dobrym rozwiazaniem jest przeszukiwanie w jednym zapytaniu dwoch tabel przy uzyciu LIKE. Jest raczej pewne, ze wlasnie ta operacja zajmuje tyle czasu

  1. product_option.composer LIKE xxx OR product.composer LIKE xxx


Ten post edytował soska66 20.11.2008, 11:09:41
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
Riklaunim
post
Post #2





Grupa: Zarejestrowani
Postów: 640
Pomógł: 44
Dołączył: 8.02.2004

Ostrzeżenie: (0%)
-----


Zastosuj wyszukiwarkę Sphinx (na zwykłym hostingu to tego nie postawisz) (lub też dla odważnych Xapiana, Hyperestrayera, Solra itd.). Bazy danych nie są wyszukiwarkami i zapytania LIKE nie są szybkie.
Go to the top of the page
+Quote Post
soska66
post
Post #3





Grupa: Zarejestrowani
Postów: 132
Pomógł: 1
Dołączył: 3.02.2005

Ostrzeżenie: (0%)
-----


Jest to zwykly hosting i nic z tym nie da sie zrobic. Chodzilo mi wylacznie o to czy da sie zoptymalizowac moje zapytanie bo senior expertem w mysqlu nie jestem i moglem cos przgapic/pominac, lub o jakims lepszym sposobie po prostu nie wiedziec (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Riklaunim
post
Post #4





Grupa: Zarejestrowani
Postów: 640
Pomógł: 44
Dołączył: 8.02.2004

Ostrzeżenie: (0%)
-----


Jeżeli to tabela typu MYISAM to możesz spróbować pełnotekstowego wyszukiwania, lecz na dłuższą metę na dużej ilości rekordów pełnotekstowe wyszukiwanie tylko przez Sphinxa lub podobne rozwiązanie.
Go to the top of the page
+Quote Post
soska66
post
Post #5





Grupa: Zarejestrowani
Postów: 132
Pomógł: 1
Dołączył: 3.02.2005

Ostrzeżenie: (0%)
-----


nie bardzo rozumiem jak moge FULLTEXT w kontekscie przeszukiwania dwoch roznych tabel za jednym razem. any help ?

Ten post edytował soska66 20.11.2008, 15:27:53
Go to the top of the page
+Quote Post
Riklaunim
post
Post #6





Grupa: Zarejestrowani
Postów: 640
Pomógł: 44
Dołączył: 8.02.2004

Ostrzeżenie: (0%)
-----


ech (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Najlepsze rozwiązanie to serwer z dostępem np. przez ssh z możliwością odpalania sphinxa - jeżeli to ma działać i się rozwijać (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Bo tej powyższej SQL nie da się w magiczny sposób przyśpieszyć (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
soska66
post
Post #7





Grupa: Zarejestrowani
Postów: 132
Pomógł: 1
Dołączył: 3.02.2005

Ostrzeżenie: (0%)
-----


ok (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) wlasnie takiej odpowiedzi oczekiwalem... ze jest to mozliwe albo ze nie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) skoro nie, to nie bede kombinowal z kodem bo i tak nic nie da.
Mam oczywiscie dostep ssh, ale ograniczona mozliwosc instalowania pakietow.. zeby nie powiedziec zadna (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) To zwykly shared hosting

cos jest mimo wszystko nie tak... 30 sekund trwa to wyszukiwanie... to nawet na kilka (nie kilkanascie nawet) tysiecy rekordow to dlugo

Ten post edytował soska66 20.11.2008, 15:45:01
Go to the top of the page
+Quote Post
Riklaunim
post
Post #8





Grupa: Zarejestrowani
Postów: 640
Pomógł: 44
Dołączył: 8.02.2004

Ostrzeżenie: (0%)
-----


Pisz do administratora z pytaniem o możliwość uruchomienia Sphinxa. Płacisz = wymagasz. Używasz Sphinxa = nie zamula im serwera (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 00:54