nvu 24 Zgłoś post Napisano Styczeń 28, 2011 Witajcie, uborykam się z problemem sklepu internetowego opartego na PrestaShop. Wiele osób próbowało pomóc jednak żadne metody nie pomogły. Zaktualizowaliśmy skrypt, wgraliśmy od nowa produkty, przebudowaliśmy indeks, naprawiliśmy i zoptymalizowaliśmy tabele. Dosłownie wszystko i cały czas, zapętla się jedno zapytanie mysql które się klonuje i katuje maszyne a mianowicie: Unicestwij 21831 baza_bxx localhost baza_xxa Query 4649 Sending data SELECT SQL_CALC_FOUND_ROWS p . * , pl.`description_short` , pl.`available_now` , pl.`available_later` , pl Czy jest jakiś master, który potrafi to naprawić ? zapytanie, które się wywołuje znajduję się w pliku search.php czyli tak jakby dotyczyło szukajki. Uploaded with ImageShack.us Udostępnij ten post Link to postu Udostępnij na innych stronach
crazyluki 114 Zgłoś post Napisano Styczeń 28, 2011 To jest całe zapytanie ? chyba nie ;-) powinno być jeszcze minimum jakieś "FROM" Udostępnij ten post Link to postu Udostępnij na innych stronach
Miłosz 2311 Zgłoś post Napisano Styczeń 28, 2011 Być może jakiś gigantyczny JOIN tam siedzi Udostępnij ten post Link to postu Udostępnij na innych stronach
nvu 24 Zgłoś post Napisano Styczeń 28, 2011 Crazyluki masz na screenie.. to wygląda na całe zapytanie. Wkleje jeszcze źródło search.php z tym odwołaniem. SELECT SQL_CALC_FOUND_ROWS p.*, pl.`description_short`, pl.`available_now`, pl.`available_later`, pl.`link_rewrite`, pl.`name`, t.`rate`, i.`id_image`, il.`legend`, m.`name` AS manufacturer_name '.$score.', DATEDIFF(p.`date_add`, DATE_SUB(NOW(), INTERVAL '.(Validate::isUnsignedInt(Configuration::get('PS_NB_DAYS_NEW_PRODUCT')) ? Configuration::get('PS_NB_DAYS_NEW_PRODUCT') : 20).' DAY)) > 0 AS new FROM '._DB_PREFIX_.'product p INNER JOIN `'._DB_PREFIX_.'product_lang` pl ON (p.`id_product` = pl.`id_product` AND pl.`id_lang` = '.intval($id_lang).') LEFT JOIN `'._DB_PREFIX_.'tax` t ON p.`id_tax` = t.`id_tax` LEFT JOIN `'._DB_PREFIX_.'manufacturer` m ON m.`id_manufacturer` = p.`id_manufacturer` LEFT JOIN `'._DB_PREFIX_.'image` i ON (i.`id_product` = p.`id_product` AND i.`cover` = 1) LEFT JOIN `'._DB_PREFIX_.'image_lang` il ON (i.`id_image` = il.`id_image` AND il.`id_lang` = '.intval($id_lang).') WHERE p.`id_product` '.$productPool.' '.($orderBy ? 'ORDER BY '.$orderBy : '').($orderWay ? ' '.$orderWay : '').' LIMIT '.intval(($pageNumber - 1) * $pageSize).','.intval($pageSize); $result = $db->ExecuteS($queryResults); $total = $db->getValue('SELECT FOUND_ROWS()'); Module::hookExec('search', array('expr' => $expr, 'total' => $total)); return array('total' => $total,'result' => Product::getProductsProperties($id_lang, $result)); } Udostępnij ten post Link to postu Udostępnij na innych stronach
crazyluki 114 Zgłoś post Napisano Styczeń 28, 2011 Wklej jeszcze ze dwie linie wyżej... Spróbuj tak: zakomentuj : $result = $db->ExecuteS($queryResults); i daj zamiast tego echo $queryResults; exit(); break; wtedy powinieneś (chyba) dostać całe zapytanie jakie jest wtedy generowane. Dodaj przed nim explain i wykonaj je w phpmyadmin. Udostępnij ten post Link to postu Udostępnij na innych stronach
nvu 24 Zgłoś post Napisano Styczeń 28, 2011 Kod wcześniej if (!$result = $db->ExecuteS(' SELECT DISTINCT p.id_product, pl.name as pname, cl.name AS cname, cl.link_rewrite as crewrite, pl.link_rewrite as prewrite '.$score.' FROM '._DB_PREFIX_.'product p INNER JOIN `'._DB_PREFIX_.'product_lang` pl ON (p.`id_product` = pl.`id_product` AND pl.`id_lang` = '.intval($id_lang).') INNER JOIN `'._DB_PREFIX_.'category_lang` cl ON (p.`id_category_default` = cl.`id_category` AND cl.`id_lang` = '.intval($id_lang).') WHERE p.`id_product` '.$productPool.' ORDER BY position DESC LIMIT 10 ')) return false; foreach ($result AS &$row) $row['cname'] = Category::hideCategoryPosition($row['cname']); return $result; } $queryResults = ' Zapytanie: SELECT SQL_CALC_FOUND_ROWS p.*, pl.`description_short`, pl.`available_now`, pl.`available_later`, pl.`link_rewrite`, pl.`name`, t.`rate`, i.`id_image`, il.`legend`, m.`name` AS manufacturer_name ,( SELECT SUM(weight) FROM ps_search_word sw LEFT JOIN ps_search_index si ON sw.id_word = si.id_word WHERE sw.id_lang = 3 AND si.id_product = p.id_product AND (sw.word LIKE 'dębica%') ) as position, DATEDIFF(p.`date_add`, DATE_SUB(NOW(), INTERVAL 14 DAY)) > 0 AS new FROM ps_product p INNER JOIN `ps_product_lang` pl ON (p.`id_product` = pl.`id_product` AND pl.`id_lang` = 3) LEFT JOIN `ps_tax` t ON p.`id_tax` = t.`id_tax` LEFT JOIN `ps_manufacturer` m ON m.`id_manufacturer` = p.`id_manufacturer` LEFT JOIN `ps_image` i ON (i.`id_product` = p.`id_product` AND i.`cover` = 1) LEFT JOIN `ps_image_lang` il ON (i.`id_image` = il.`id_image` AND il.`id_lang` = 3) WHERE p.`id_product` IN (18075,18045,18023,17987,17961,17937,17898,17894,17878,17857,17836,17825,17818,17807,17797,17787,18847,18423,18338,18285,18242,18111,16022,16543,15615,15612,15120,15119,15068,15066,14962,14922,14920,14917,14810,14719,14716,14715,14712,14635,14633,14631,14564,14525,14523,14521,14468,14465,14463,14424,14422,14365,14346,14295,14294,14291,14256,14254,14216,14215,14213,14193,14191,14172,14170,14134,14133,14131,14104,14102,14081,14079,14070,14068,14050,14030,14016,14013,13997,13981,13979,13970,13969,13967) ORDER BY position desc LIMIT 0,10 Udostępnij ten post Link to postu Udostępnij na innych stronach
maminowiec 9 Zgłoś post Napisano Styczeń 28, 2011 SQL_CALC_FOUND_ROWS , samo w sobie jest nie optymalne. No i ten IN(....) Ile wykonuje Ci sie to zapytanie ? Udostępnij ten post Link to postu Udostępnij na innych stronach
nvu 24 Zgłoś post Napisano Styczeń 28, 2011 Własnie wcale się nie wykonuje tak mieli że wymielić nie może. Na pierwszym screenie masz... 4500 sekund te na samej górze Wynik EXPLAINu http://img99.imageshack.us/i/zrzutekranu6l.png/ Udostępnij ten post Link to postu Udostępnij na innych stronach
Grupa PFF 3 Zgłoś post Napisano Styczeń 28, 2011 Napisz z problemem do producenta. Na pewno zrobi to na przysługującej Ci gwarancji! Udostępnij ten post Link to postu Udostępnij na innych stronach
nvu 24 Zgłoś post Napisano Styczeń 28, 2011 Rozumiem, że to ironia związku z nie skorzystaniem waszej oferty ? Udostępnij ten post Link to postu Udostępnij na innych stronach
Miłosz 2311 Zgłoś post Napisano Styczeń 28, 2011 Niekoniecznie z oferty PFF Jednak dobrze wiesz, że darmowe skrypty nie mają gwarancji i zostaje jedynie społeczność, która tworzy skrypt. A pytałeś na ich forum? Założyłeś indeks na kolumne word? Udostępnij ten post Link to postu Udostępnij na innych stronach
nvu 24 Zgłoś post Napisano Styczeń 28, 2011 Pytałem na forum... ale tam jakoś nie ma speców. Nie założyłem jeszcze indeksów. Udostępnij ten post Link to postu Udostępnij na innych stronach
nvu 24 Zgłoś post Napisano Styczeń 31, 2011 Po założeniu indeksów 2 dni spokoju, dzisiaj klient złożył zamówienie, nie dotarło całe. Znowu zaczęły się te same procesy i zawalają serwer. Help. Udostępnij ten post Link to postu Udostępnij na innych stronach
webtronic 4 Zgłoś post Napisano Styczeń 31, 2011 Jak zajmujesz się takimi sprawami to powinieneś wiedzieć o co chodzi, jak nie wiesz to przeproś klienta i odeślij do firmy która się tym zajmuje. Udostępnij ten post Link to postu Udostępnij na innych stronach
nvu 24 Zgłoś post Napisano Styczeń 31, 2011 Człowieku, ale to mój sklep. Już nie aktualne. Udostępnij ten post Link to postu Udostępnij na innych stronach
behemoth 230 Zgłoś post Napisano Styczeń 31, 2011 A podzielisz się co było przyczyną? Sam korzystam z prestashopu i chciałbym wiedzieć jak się zachować, gdyby taki problem pojawił się i u mnie Udostępnij ten post Link to postu Udostępnij na innych stronach
nvu 24 Zgłoś post Napisano Luty 1, 2011 Zainstalowałem skrypt na nowo, import z plików xml ustawienie itp.. Udostępnij ten post Link to postu Udostępnij na innych stronach
Grupa PFF 3 Zgłoś post Napisano Luty 1, 2011 Albo uprzednio wymienić skrypt na komercyjny i spać spokojnie @nvu: Myślę, że tematu naszej "współpracy" (w zasadzie 1 rozmowy telefonicznej) nie warto publicznie opisywać. Ale jak już bardzo chcesz, to sprostuję, że nie robimy sklepów/sprzedajemy oprogramowania po cenach innych aniżeli są przedstawione na stronie. Udostępnij ten post Link to postu Udostępnij na innych stronach
nvu 24 Zgłoś post Napisano Luty 2, 2011 Sprawa rozwiązana, problemem okazał się skrypt Zawannsowanej wyszukiwarki napisany przez firme zewnętrzną - prestahelp.com. @PFF nie publikuje nic, jak zauważyłeś, jak mam za coś płacić to chcę za coś konkretnego. Udostępnij ten post Link to postu Udostępnij na innych stronach
Grupa PFF 3 Zgłoś post Napisano Luty 2, 2011 Sugerujesz, że to co oferuję to śmieć, czy też po prostu masz budżet, który pozwala Ci na zatrudnianie gimnazjalistów, ew. ich nauczycieli? Udostępnij ten post Link to postu Udostępnij na innych stronach
nvu 24 Zgłoś post Napisano Luty 2, 2011 Sugeruję, że prezentujemy dwie różne grupy. Ty kierujesz swoją ofertę dla firm którzy chcą mieć wszystko zrobione na "kluczyk" a jak coś będzie nie tak to Ty bekniesz. Dla mnie wystarczy sama licencja, bo reszte sam sobię zrobię. Udostępnij ten post Link to postu Udostępnij na innych stronach
Miłosz 2311 Zgłoś post Napisano Luty 2, 2011 Będziesz rozgrzebywał autorski skrypt, który pewnie działa na jakiejś tam licencji tej firmy, i sam go modyfikował? Wtedy zostanie ci to samo co w PrestaShop.. sama licencja i 0 gwarancji. Udostępnij ten post Link to postu Udostępnij na innych stronach
Grupa PFF 3 Zgłoś post Napisano Luty 2, 2011 @nvu: Zaskoczę Cię, ale ogromna większość naszych Klientów to ludzie podobni do Ciebie. Podobni - bo nie próbują na siłę zrobić czegoś sami, tylko wolą zlecić to komuś kto wykona to od A do Z i udzieli na to gwarancji. Nasze usługi nie są jakieś przeraźliwie drogie (wszakże 2700zł netto za sklep internetowy z indywidualnym, profesjonalnym projektem graficznym to raczej niewielkie pieniądze). A masz pewność, że nie musisz przeinstalowywać skryptów co 2 tygodnie. A jak chcesz dorobić jakiś dodatkowy moduł do sklepu to telefon/email pozostaje ten sam, a po modyfikacji sklep dalej działa w 100% prawidłowo i dalej masz na niego gwarancję. Konkludując - jest to rozwiązanie dla ludzi, którzy cenią sobie spokój i bezpieczeństwo. A nade wszystko - tworzą sklep internetowy by sprzedawać, a nie by się zastanawiać czy działa prawidłowo, czy już wymaga kolejnego przeinstalowania. Udostępnij ten post Link to postu Udostępnij na innych stronach
nvu 24 Zgłoś post Napisano Luty 2, 2011 @up Tak, jak najbardziej się z Tobą zgadzam. Mieliśmy plan, żeby sprawdzić czy ten biznes ma sens a potem zainwestować w skrypt i dobrze że tak zrobiliśmy. Bo gdybyśmy kupili skrypt za 1000 zł to własnie byśmy byli w plecy, sklep poszedł na sprzedaż z takich powodów że na rynku brakuje opon i edycja cen, pilnowanie tego plus prowadzenie wulkanizacji mija się z celem. koniec OT, problem rozwiązany. Udostępnij ten post Link to postu Udostępnij na innych stronach
Grupa PFF 3 Zgłoś post Napisano Luty 2, 2011 A propos - orientujesz się czy jest jakaś hurtownia, która udostępnia XML z bazą opon (oczywiście cen i ich dostępności też)? Jeśli tak - to bądź tak uprzejmy i podeślij mi jej nazwę na PW. Przygotujemy moduł importujący dane i aktualizujący ofertę z tej hurtowni. Myślę, że mając coś takiego do dyspozycji wrócisz do branży i chętnie wydasz kilka tysięcy na sklep, który będzie działał bez marnowania Twojego czasu na przepisywanie kolumn. Udostępnij ten post Link to postu Udostępnij na innych stronach