nervende collate-Statements und Performance-Frage
am 29.01.2006 16:03:10 von Mario Wolframm
Hi,
ich habe das Problem, dass ich in einer Mysql 5.0.18 (XAMPP) eine=20
Struktur mit Kundendaten habe
CREATE TABLE `werte`.`kunden` (
`Kundennummer` varchar(6) collate latin1_german1_ci NOT NULL default=20
'000000',
`Vertragsnummer` varchar(10) character set latin1 default NULL,
`Kurzname` varchar(30) collate latin1_german1_ci default NULL,
`Name_1` varchar(50) collate latin1_german1_ci default NULL,
-- ein paar weitere Arribute, ist aber hier ggf. nicht wichtig
PRIMARY KEY (`Kundennummer`)
) ENGINE=3DMyISAM DEFAULT CHARSET=3Dlatin1 COLLATE=3Dlatin1_german1_ci;
Die Tabelle ist auf latin1_german1, da ich nach deutsch Namen auch=20
teilweise suchen muss.
Ich entwickle eine Applikation, wo ein Großteil der Intelligenz in der =
DB steckt, aus hier bereits öfter diskutierten Gründen.
Ich habe bislang nie Probleme gehabt, aber was auch immer ich im Query=20
Browser auch anstlle, ich kann mich nie auf meine Statements und=20
Prozeduren konzentrieren, da bei der Ausführung ich an allen mögliche=
n=20
Stellen Collate Anweisungen brauche, weil mir die Kiste ständig Strings=
=20
in swedish vergleichen möchte, bzw. wenn sie direkt aus dem Browser=20
stammen, dann noch nicht mal Utf8 darin umwandeln will.
Wo habe ich was falsch gemacht? Und, verlangsamen diese Collate's meine=20
SQL-Abfragen (nutze auch Cursor)?
Danke und Ciao,
Mario
Re: nervende collate-Statements und Performance-Frage
am 30.01.2006 01:06:40 von Sven Paulus
Mario Wolframm wrote:
> Ich habe bislang nie Probleme gehabt, aber was auch immer ich im Query=20
> Browser auch anstlle, ich kann mich nie auf meine Statements und=20
> Prozeduren konzentrieren, da bei der Ausführung ich an allen möglich=
en=20
> Stellen Collate Anweisungen brauche, weil mir die Kiste ständig String=
s=20
> in swedish vergleichen möchte, bzw. wenn sie direkt aus dem Browser=20
> stammen, dann noch nicht mal Utf8 darin umwandeln will.
Hast Du mal mit den drei Einstellungen
| collation_connection | latin1_swedish_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
rumgespielt? Damit solltst Du das doch eigentlich globaler setzen
koennen.
Re: nervende collate-Statements und Performance-Frage
am 30.01.2006 07:11:46 von Mario Wolframm
Sven Paulus wrote:
> Hast Du mal mit den drei Einstellungen
> | collation_connection | latin1_swedish_ci |
> | collation_database | latin1_swedish_ci |
> | collation_server | latin1_swedish_ci |
> rumgespielt? Damit solltst Du das doch eigentlich globaler setzen
> koennen.
Ja, habe ich jetzt dann mal auch. Leider hatte ich bei dem Import aus=20
einer Access-DB nicht so aufgepasst, daher waren die Tabellen teilweise=20
mit unterschiedlichen Charsets und Collations versaut.
Habe jetzt den Holzhammer angesetzt: Schema exportiert, suchen und=20
ersetzen/löschen der entsprechenden individuellen Settings, einlesen in=
=20
neues Schema, "insert into `db2`.`table1` select * from `db1`.`table1`". =
20 zu bereinigende Procedures, 12 Tabellen und 1,5 Mio Records später=20
war mein Schmerz zuende.
Aber danke, genau in die Richtung musste ich gucken, um den Fehler zu=20
finden!
Ciao,
Mario