Gespeicherte Prozeduren und Codierung Wenn in gespeicherten MySQL-Prozeduren die Kodierung der Tabelle und der Daten von der Standardkodierung der Datenbank und der gespeicherten Prozeduren abweicht, kann SQL den Index möglicherweise nicht verwenden, da MySQL eine entsprechende Kodierungskonvertierung für die Daten in der Bedingungsspalte durchführt. Im Folgenden sind die Tabellendaten beispielsweise latin1, und der MySQL-Parser führt einige Konvertierungen durch: ... WHERE Namensspalte = NAME_CONST('in_Namensspalte',_utf8'MP201022' COLLATE 'utf8_general_ci') Sie können die entsprechende Kodierungskonvertierung in der gespeicherten Prozedur durchführen (normalerweise das varchar/char-Feld ändern), sodass der Index normal verwendet werden kann. Weitere Informationen finden Sie unter: mysql-slow-when-run-as-stored-proc ... WHERE namecolumn = convert(in_namecolumn using latin1) collate latin1_swedish_ci JDBC-Direktverbindung zum Ausführen von SQL Wenn beim Ausführen von SQL über eine JDBC-Verbindung die Kodierung inkonsistent ist, müssen auch die Typen varchar und char konvertiert werden, wie unten gezeigt: ... WHERE namecolumn = convert(in_namecolumn using latin1) collate latin1_swedish_ci Andernfalls können die folgenden Fehler aufgrund von Kodierungsinkonsistenzen auftreten (je nach MySQL-Connector-Version kann das Verhalten variieren): SQL-Status [HY000]: Fehlercode [1267]: Unzulässige Mischung von Sortierungen (latin1_swedish_ci,IMPLICIT) und (utf8mb4_general_ci,COERCIBLE) für Operation '=' Änderungen am JDBC-UseSSL-Parameter In der mysql-connector-java-Konfiguration weist der Parameter useSSL die folgenden Unterschiede auf. Ab 5.1.38 ist useSSL standardmäßig für MySQL 5.5.45+, 5.6.26+ oder 5.7.6+ aktiviert. Die entsprechenden Parameter requireSSL und verifyServerCertificate werden ebenfalls aktiviert: < 5.1.38: ConnectionProperties.useSSL=SSL bei der Kommunikation mit dem Server verwenden (true/false), Standardeinstellung ist „false“ >= 5.1.38 ConnectionProperties.useSSL=SSL bei der Kommunikation mit dem Server verwenden (true/false), Standard ist „true“ bei einer Verbindung mit MySQL 5.5.45+, 5.6.26+ oder 5.7.6+, andernfalls ist der Standard „false“ MySQL 5.7.x und höher aktivieren SSL standardmäßig und der Client verhandelt automatisch die Verschlüsselung beim Herstellen einer Verbindung, sofern nicht ausdrücklich angegeben wurde, dass keine Verschlüsselung erfolgen soll. mysql-connector-java hat useSSL seit 5.1.38 standardmäßig aktiviert. Daher treten beim Herstellen einer Verbindung zu MySQL 5.7.x mit einer niedrigeren JDBC-Version keine Verschlüsselungsprobleme auf, jedoch beim Herstellen einer Verbindung zu 5.7.6+ mit einer höheren JDBC-Version. Sie müssen useSSL=false ausdrücklich angeben und beim Herstellen einer Verbindung zu MySQL 5.5, 5.6 mit einer höheren JDBC-Version treten keine Verschlüsselungsprobleme auf. Dies ist das Ende dieses Artikels über einige Probleme, die durch inkonsistente MySQL-Kodierung verursacht werden können. Weitere Informationen zu Problemen, die durch inkonsistente MySQL-Kodierung verursacht werden, finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die verwandten Artikel weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Mehrere Situationen, in denen Div durch Iframe abgedeckt ist, und ihre Lösungen
Im Prozess der Teamentwicklung ist die Formulieru...
Laden von Kernelsymbolen mit gdb arm-eabi-gdb out...
Inhaltsverzeichnis Vorwort: 1. Einführung in die ...
Button wird ziemlich oft verwendet. Hier habe ich...
<> Operator Funktion: Zeigt an, dass es ung...
Es ist ganz einfach, gehen Sie einfach zum Tutori...
Inhaltsverzeichnis Vorwort Text 1. Konzepte im Zu...
Vorwort PC Server hat sich bis heute weiterentwic...
Ich habe mich beim Backend angemeldet, um die Lös...
Installieren Sie vsftpd $ sudo apt-get installier...
Definition und Verwendung: Verwenden Sie die Slot...
1. Offizielle Einführung grep ist ein häufig verw...
Vorwort Linux verfügt über entsprechende Open-Sou...
In einem Projekt müssen Sie häufig Umgebungsvaria...
Vor Kurzem hat das Projekt die Umgebung gewechsel...