23. februar 2012 - 22:07Der er
3 kommentarer og 1 løsning
Prestashop side kører langsomt
Hej Eksperter.
Jeg er ved at udvikle en webshop med Prestashop. Mit problem er at det tager 10-12 sekunder fra man trykker på et link i produktmenuen til det vises på siden. Nogen ide om hvorfor dette kan være og hvad jeg kan gøre for at forbedre det?
Der er over 30.000+ varenumre i shoppen og der er rykket meget frem og tilbage, så jeg mistænker lidt produktdatabasen til at være den slemme her, men er langt fra sikker.
Ser ud til at en SQL oprydning af kaliber hjalp gevaldigt og reducerede load tider fra 12 sekunder til 4-5 sekunder.
Her er koden som jeg fik af en anden hjælpende sjæl :-)
DELETE FROM `ps_attribute_impact` WHERE `id_product` NOT IN (SELECT `id_product` FROM `ps_product`); DELETE FROM `ps_category_product` WHERE `id_product` NOT IN (SELECT `id_product` FROM `ps_product`); DELETE FROM `ps_image` WHERE `id_product` NOT IN (SELECT `id_product` FROM `ps_product`); DELETE FROM `ps_image_lang` WHERE `id_image` NOT IN (SELECT `id_image` FROM `ps_image`); DELETE FROM `ps_product_lang` WHERE `id_product` NOT IN (SELECT `id_product` FROM `ps_product`); DELETE FROM `ps_product_attribute` WHERE `id_product` NOT IN (SELECT `id_product` FROM `ps_product`); DELETE FROM `ps_product_attribute_combination` WHERE `id_product_attribute` NOT IN (SELECT `id_product_attribute` FROM `ps_product_attribute`); DELETE FROM `ps_product_attribute_image` WHERE `id_product_attribute` NOT IN (SELECT `id_product_attribute` FROM `ps_product_attribute`); DELETE FROM `ps_feature_product` WHERE `id_product` NOT IN (SELECT `id_product` FROM `ps_product`); DELETE FROM `ps_feature` WHERE `id_feature` NOT IN (SELECT `id_feature` FROM `ps_feature_product`); DELETE FROM `ps_feature_lang` WHERE `id_feature` NOT IN (SELECT `id_feature` FROM `ps_feature`); DELETE FROM `ps_feature_value` WHERE `id_feature` NOT IN (SELECT `id_feature` FROM `ps_feature`); DELETE FROM `ps_feature_value_lang` WHERE `id_feature_value` NOT IN (SELECT `id_feature_value` FROM `ps_feature_value`); DELETE FROM `ps_accessory` WHERE `id_product_1` NOT IN (SELECT `id_product` FROM `ps_product`); DELETE FROM `ps_specific_price` WHERE `id_product` NOT IN (SELECT `id_product` FROM `ps_product`);
Hvis du er nødt til at rydde op på den måde, bør du vist læse op på fænomenet foreign keys i MySQL.
Som altid, når der er tale om performanceproblemer med databaser, kommer man til at tænke på, om du overhovedet indekserer dine tabeller.
/mvh </bole>
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.