fink-x
Mitglied
Hallo,
Hintergrund:
ich habe eine Shopsystem welches mit einer MySQL Datenbank läuft. In dieser DB sind schon etliche Tabellen erstellt unter anderen auch eine Tabelle für Produkte (products) und eine für Bestellungen (orders) diese haben wiederum eine viel zahl an Spalten. Ich habe ein Script was mir jetzt die Top-Produkte aus der DB herauszieht, dieses ist in php geschrieben und geht über 3 separate Abfragen. Diese wollte ich nun vermeiden und alles in eine Abfrage stecken, nur leider läuft diese ziemlich lang (2 - 8 Sekunden). Nun habe ich in der Testumgebung mal der Spalte in der "orders" Tabelle einen Index gegeben welche quasi der Schlüssel der Produkte ist
orders(Tabelle) -> product_id(Spalte in der orders Tabelle)
und der hab ich jetzt den Index gegeben. Nun meine eigentlich Frage, wenn ich solch ein Index vergebe, kann sich dies negativ auf meine Datenbank oder das Shopsystem auswirken?
Hier auch noch die entsprechende Abfrage dazu, ich bin kein Datenbankprofi und man kann die Abfrage sicherlich noch verbessern, wenn dies so ist würde ich mich über Tipps freuen.
Edit:
Als Info zusätzlich, das Shopsystem ist ein xtCommerce
Hintergrund:
ich habe eine Shopsystem welches mit einer MySQL Datenbank läuft. In dieser DB sind schon etliche Tabellen erstellt unter anderen auch eine Tabelle für Produkte (products) und eine für Bestellungen (orders) diese haben wiederum eine viel zahl an Spalten. Ich habe ein Script was mir jetzt die Top-Produkte aus der DB herauszieht, dieses ist in php geschrieben und geht über 3 separate Abfragen. Diese wollte ich nun vermeiden und alles in eine Abfrage stecken, nur leider läuft diese ziemlich lang (2 - 8 Sekunden). Nun habe ich in der Testumgebung mal der Spalte in der "orders" Tabelle einen Index gegeben welche quasi der Schlüssel der Produkte ist
orders(Tabelle) -> product_id(Spalte in der orders Tabelle)
und der hab ich jetzt den Index gegeben. Nun meine eigentlich Frage, wenn ich solch ein Index vergebe, kann sich dies negativ auf meine Datenbank oder das Shopsystem auswirken?
Hier auch noch die entsprechende Abfrage dazu, ich bin kein Datenbankprofi und man kann die Abfrage sicherlich noch verbessern, wenn dies so ist würde ich mich über Tipps freuen.
PHP:
Select DISTINCT
Count(op.products_id) As productsidcounts,
p.products_date_added,
p.products_image,
p.products_price,
bsu.url_text,
pd.products_name,
pd.products_short_description
From
products p
Inner Join products_description pd On p.products_id = pd.products_id
Inner Join bluegate_seo_url bsu On p.products_id = bsu.products_id
Inner Join orders_products op on op.products_id = p.products_id
Left Join orders o On (op.orders_id = o.orders_id)
WHERE
p.products_quantity > 0 And
p.products_status > 0 And
o.date_purchased Between '2010-07-03' And '2010-08-02'
Group By p.products_id Order By productsidcounts Desc
Edit:
Als Info zusätzlich, das Shopsystem ist ein xtCommerce
Zuletzt bearbeitet: