Opened 5 years ago
Closed 3 years ago
#1894 closed Erweiterung (fixed)
Mixed ENGINE in Datenbank vermeiden
| Reported by: | Torsten Riemer | Owned by: | somebody |
|---|---|---|---|
| Priority: | normal | Milestone: | modified-shop-2.0.8.0 |
| Component: | Shop | Version: | trunk |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: |
Description
Ich schlage eine neue Konstante "DB_SERVER_ENGINE" für die "/includes/configure.php" vor, die im Installer gesetzt wird, damit es beim Update von älteren Shops nicht mehr zu mixed ENGINE kommt.
Auch bei der Installation von Modulen, die Tabellen anlegen sollte diese Konstante heran gezogen werden um die Tabellen mit der entsprechenden ENGINE zu erstellen.
Attachments (0)
Change History (3)
comment:2 by , 5 years ago
Geht das wirklich so ?
Ich kenne das so:
SHOW ENGINES sollte in der "Support"-Spalte "DEFAULT" anzeigen.
Eine GLOBAL VARIABLE storage_engine würde aber auch nichts darüber aussagen mit welcher ENGINE die einzelnen Tabellen angelegt wurden sondern lediglich die Default-Engine aufzeigen.
Ich hatte in anderem Kontext auch bereits vor längerem vorgeschlagen die ENGINE und die COLLATION beim Anlegen der Tabellen in der DB vorzugeben weil ansonsten auf den DEFAULT in den Server-Einstellungen zurückgegriffen wird, was nicht immer (oder sogar oft nicht) gewünscht ist.
So könnte es z.B. wegen der Suchfunktion Sinn machen utf8_german2_ci in der Tabelle products_description zu setzen, um zu vermeiden, daß eine Suche nach z.B. "Müller" auch "Muller" zurückgibt.
Allerdings soll eine gemischte Collation bei JOINs die Queries verlangsamen.
Man sollte das vielleicht mal durchdiskutieren und evtl. mit Tests untermauern. Im Web gibt es nämlich dazu widersprüchliche Aussagen.
Gruß,
noRiddle

Bin eher dafür dasnicht inder configure.php zu verankern, sondern durch eine Abfrage der DB auszuwerten:
Grund: Man könnte sonst auf die Idee kommen, dass die Änderung der Konstante eine Änderung der DB-Engine bewirkt.