Thread Verfasser: Rolly8-HL
Thread ID: 1015
Thread Info
Es gibt 7 Beiträge zu diesem Thema, und es wurde 3350 Mal angesehen.
 Thema drucken
MyISAM & co.
Rolly8-HL
Habe da mal eine Fachfrage zu der Datenbank Anlage.

Die V9 benutzt
Zitat: MyISAM utf8_unicode_ci

Andere CMS (neuste Version)
Zitat: InnoDB utf8mb4_general_ci
MyISAM utf8mb4_unicode_ci

Meine Frage: wo drin liegt der Unterschied
1. MyISAM zu InnoDB für die Zukunft gesehen.
2. utf8_unicode_ci zu utf8mb4_general_ci für die Zukunft gesehen.

Habe nicht vor im halben Jahr wieder alles umstellen zu müssen.
Es ist mit meiner R8HL_change_panel für mich kein Problem, nur würde ich gerne wissen was jetzt das bessere ist?
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
 
SuNflOw
Ich würde InnoBDB vor MyISAM verwenden da InnoDB sowas wie Beziehungen kann. Dafür ist InnoDB in der Volltextsuche schlecht.

Unicode vs. General hat etwas damit zu tun WIE einträge in der Datenbank bei Abfrageb miteinander verglichen werden.

das mb4 bedeutet das ein Zeichen 1 - 4 byte lang sein kann. ohne mb4 sind die immer 3 byte lang. bedeutet im klartext dass du in die mb4 Tabelle noch mehr buchsdtaben packen kannst.
________________________________________________
I got my swim trunks and my Flippie-Floppies *-*
 
Rolly8-HL
Zitat: Dafür ist InnoDB in der Volltextsuche schlecht.

Ist das gemeint wenn ich auf meiner Seite die Suche Funktion verwende?

Die V9 benutzt nicht die InnoDB warum nicht?
Welche Empfehlung wäre für Fusion da zu zu geben?

Zitat: utf8_general_ci

Hatte damit schon mal Probleme mit, das Große Texte gar nicht alle gespeichert werden oder bei DB Umzug verloren gegangen sind.

V9 nutzt die utf8mb4 nicht andere CMS schon, was wäre hier die Empfehlung?
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
 
SuNflOw
Zitat: Ist das gemeint wenn ich auf meiner Seite die Suche Funktion verwende?


Nein, Volltextsuche ist hier beschrieben. Fusion nutzt keine Volltextsuche.

Wieso Fusion kein InnoDB nimmt, kann ich mir nur damit erklären, dass MyISAM keine Beziehungen zwischen Tabellen unterstützt. Dies ist verdammt Anfänger freundlich. Aber MyISAM wird nur noch gefixt nicht mehr verbessert da seit MySQL Version > 5.6, InnoDB auch die Volltextsuche unterstützt (war mir bisher selber nicht klar) und damit ist der einzige Nachteil Vergangenheit.

ich würde in jedem Fall von 'general' auf 'unicode' wechseln. Da hier auf die offizielle Sortierung des Unicode Zeichensatzes zurück gegriffen wird. 'general' besitzt nicht alle Sortierungen für alle Sprachen. Dies bedeutet aber auch, dass es schneller ist. Mit der Länge oder sonstiges der Daten hat das 'general' nichts zu tun. Dies steht nur für die Sortierung und dem Vergleich von Daten.

Auch würde ich zu mb4 tendieren da man dort auch Emojis (die eine 4-Byte große Unicode Zeichenfolge sind) speichern kann.
________________________________________________
I got my swim trunks and my Flippie-Floppies *-*
 
Rolly8-HL
Das ist eine gute Erklärung für mich.
Wenn ich das richtig verstanden habe ist eine Volltextsuche nur für phpMyAdmin gedacht.

Und wenn ich den 2. Teil richtig verstanden habe wäre eine Einstellung wie
Zitat: InnoDB utf8mb4_unicode_ci

die bessere Variante von allem zu Zeit.

Meine Interesse ist deswegen so Groß darin weil ich meine R8HL_change_panel noch nicht offiziell raus gebracht habe und diese damit verbessern wollte.

Noch eine Frage am Rande:
In einer der CMS habe ich das gefunden.
Zitat: n0hye_finder_tokens MEMORY
n0hye_finder_tokens_aggregate MEMORY

Wozu kann das MEMORY von Nutzen sein.
Bearbeitet von Rolly8-HL am 11.07.2016 um 10:46
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
 
SuNflOw
Da gebe ich dir recht, würde ich auch nehmen.

MEMORY ist eine ENGINE wie MyISAM und InnoDB. Die nutzt man hauptsächlich für komplizierte Abfragen die eine Zwischentabelle bedürfen. Mit MEMORY wird diese dann in den RAM abgelegt. Dies ist eben sehr schnell aber ich denke für Fusion nicht geeignet.
________________________________________________
I got my swim trunks and my Flippie-Floppies *-*
 
Rolly8-HL
Hallo, habe es jetzt so eingesetzt, hoffe das es so Richtig ist.
Code
   while ($data = dbarray($result)) {
   dbquery("SET NAMES 'utf8mb4'");
   dbquery("ALTER TABLE ".$data['change_table']."  ENGINE=InnoDB  ");
   dbquery("ALTER TABLE ".$data['change_table']." CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci");
   dbquery("ALTER TABLE ".$data['change_table']." DEFAULT CHARSET=utf8mb4 ");
   dbquery("ALTER TABLE ".$data['change_table']."  COLLATE=utf8mb4_unicode_ci");

Habe es getestet, bis jetzt gab es jedenfalls keine Probleme.

Oder gibt es dazu andere Meinungen oder Bedenken?
Ist nur so das ich das auf den Momentanen neuesten Stand gerne hätte.
Bearbeitet von Rolly8-HL am 19.07.2016 um 08:31
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
 
Springe ins Forum: