DiA Posted October 24, 2006 Report Share Posted October 24, 2006 Hallo, ich hoffe, ich bin hier richtig. Habe ein großes Problem mit meinem Online-Shop. Mehrmals täglich wird er durch eine "Monster-Anfrage" komplett lahmgelegt, dann geht für mehrere Minuten nichts mehr.... Es ist dann z.B. diese IP: 66.249.72.207 (Google Robot ???) bis zu 40 mal gleichzeitig aktiv. Es werden bis zu 15 Mio. Datensätze auf einmal abgefragt. Diese Abfrage braucht teilweise über 15 Minuten und blockiert alle nachfolgenden Abfragen was einen riessigen Stau ergibt. Dadurch wird auch der Serverr meines Hosters ziemlich gebremst in dieser Zeit Diese Meldung wurde auf dem Server angezeigt: Hier nochmal die Abfrage inkl. den von MySQL geloggten Performance Daten: # Time: 061016 11:29:26 # User@Host: dogsidbh[dogsidbh] @ localhost [] # Query_time: 2397 Lock_time: 1205 Rows_sent: 20 Rows_examined: 1443510245 SELECT DISTINCT p.products_model, pov.products_options_values_name, pd.products_name, m.manufacturers_name, p.products_quantity, p.products_shippingtime, p.products_fsk18, p.products_image, p.products_weight, pd.products_short_description, pd.products_description, m.manufacturers_id, p.products_id, pd.products_name, p.products_price, p.products_tax_class_id FROM products p LEFT JOIN manufacturers m using(manufacturers_id), products_description pd LEFT JOIN specials s ON p. products_id = s.products_id, categories c, products_to_categories p2c, products LEFT JOIN products_attributes pa ON p.products_id = pa.products_id LEFT JOIN p roducts_options_values pov ON pa.options_values_id = pov.products_options_values_id WHERE p.products_status = '1' AND p.products_id = pd.products_id AND pd.language_id = '2' AND p.products_id = p2c.products_id AND p2c.categories_id = c.categories_id AND ( p.products_id = pa.products_id AND (pd.products_name LIKE '%bon%' OR p.products_model LIKE '%b on%' OR p.products_ean like '%bon%' OR m.manufacturers_name LIKE '%bon%' OR pov.products_options_values_name LIKE '%bon%' OR pd.products_description LIKE '%bo n%' OR pd.products_short_description LIKE '%bon%' OR pa.attributes_model LIKE '%bon%') OR (pd.products_name LIKE '%bon%' OR p.products_model like '%bon%' OR p .products_ean LIKE '%bon%' OR m.manufacturers_name LIKE '%bon%' OR pd.products_description LIKE '%bon%' OR pd.products_short_description LIKE '%bon%') and p. products_id = pa.products_id AND (pd.products_name LIKE '%ton%' OR p.products_model LIKE '%ton%' OR p.products_ean like '%ton%' OR m.manufacturers_name LIKE ' %ton%' OR pov.products_options_values_name LIKE '%ton%' OR pd.products_description LIKE '%ton%' OR pd.products_short_description LIKE '%ton%' OR pa.attributes _model LIKE '%ton%') OR (pd.products_name LIKE '%ton%' OR p.products_model like '%ton%' OR p.products_ean LIKE '%ton%' OR m.manufacturers_name LIKE '%ton%' OR pd.products_description LIKE '%ton%' OR pd.products_short_description LIKE '%ton%') ) GROUP BY pd.products_id ORDER BY pd.products_name limit 0, 20; Kann mir irgendjemand helfen ???? Wie legt man diese Monsterabfrage lahm ? Vielen Dank im voraus. DiA Link to comment Share on other sites More sharing options...
techway Posted October 24, 2006 Report Share Posted October 24, 2006 Hi, dass sieht aus wie eine suchabfrage? mit so vielen LIKE-s drin da kann ich dann verstehen warum es so lange dauert Gruß Link to comment Share on other sites More sharing options...
DiA Posted October 24, 2006 Author Report Share Posted October 24, 2006 Wie bekomme ich den Müll raus Link to comment Share on other sites More sharing options...
techway Posted October 24, 2006 Report Share Posted October 24, 2006 ich glaub die abfrage stammt aus der advanced_search_result.php! Gruß Link to comment Share on other sites More sharing options...
techway Posted November 1, 2006 Report Share Posted November 1, 2006 wie hast du jetzt die abfrage rausgenommen? Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.