Zusätzliche Indices in der Datenbank zur Performancesteigerung

Aus Wiki | modified eCommerce Shopsoftware
Zur Navigation springenZur Suche springen

(Quelle: Anwenderhandbuch 2.9)

Wenn viele Artikel (>1000) im Shop angelegt sind, wird es früher oder später zu Performanceeinbrüchen kommen, da die Datenbank sehr stark anwächst und noch keine Optimierungen getroffen wurden.

Folgende Indices können zu einer erheblichen Performancesteigerung vor allem bei sehr vielen Artikeln im Shop führen. Vorher auch unbedingt ein Backup der Datenbank durchführen!

Dazu folgende SQL-Befehle in der Datenbank ausführen:

ALTER TABLE shipping_status ADD INDEX ( language_id );
ALTER TABLE products ADD INDEX ( products_startpage );
ALTER TABLE products_to_categories ADD INDEX ( categories_id );
ALTER TABLE orders_products ADD INDEX ( orders_id , products_id );
ALTER TABLE zones_to_geo_zones ADD INDEX ( geo_zone_id );
ALTER TABLE tax_rates ADD INDEX ( tax_zone_id );
ALTER TABLE products ADD INDEX ( manufacturers_id );

20120824 Anmerkung rö: Ich denke

ALTER TABLE orders_products ADD INDEX ( orders_id , products_id );

ist wohl eher so gemeint:

ALTER TABLE orders_products ADD INDEX ( orders_id );
ALTER TABLE orders_products ADD INDEX ( products_id );

Zumindest findet sich das auch so in xtcmod, siehe

SHOW CREATE TABLE orders_products

Bei Problemen können die Indices über folgende Befehle wieder entfernt werden:

ALTER TABLE shipping_status DROP INDEX language_id;
ALTER TABLE products DROP INDEX products_startpage;
ALTER TABLE products_to_categories DROP INDEX categories_id;
ALTER TABLE orders_products DROP INDEX orders_id , products_id;
ALTER TABLE zones_to_geo_zones DROP INDEX geo_zone_id;
ALTER TABLE tax_rates DROP INDEX tax_zone_id;
ALTER TABLE products DROP INDEX manufacturers_id;