Performance: 40 Felder varchar(6) oder 1 Feld Blob mit Serialize
Performance: 40 Felder varchar(6) oder 1 Feld Blob mit Serialize
am 15.11.2004 13:25:56 von Guido Hauke
Hallo,
ich hab eine MySQL-Tabelle mit ca. 200 Feldern. Ich möchte die
Datenbank-Performance beschleunigen.
Jetzt habe ich davon 40 Felder mit Varchar(6), in der ich verschiedene
Farben(Bsp. FFFFFF) gespeichert habe.
Ich bin am überlegen, ob ich diese 40 Varchar-Felder in ein einziges
Blob-Feld umwandele, und darin die 40 Felder als Array speichere. (ich
benutze PHP:serialize)
Jetzt die Frage:
kann man damit die Performance von MYSQL & PHP beschleunigen?
Ich muss nicht 40 Felder selektieren, sondern nur eins. Dafür muss ich aber
mit serialize, bzw unserialize arbeiten?
Hat jemand erfahrung damit und weiss, welche Kombination schneller ist?
Danke
Guido
Re: Performance: 40 Felder varchar(6) oder 1 Feld Blob mit Serialize
am 15.11.2004 13:55:12 von Axel Schwenke
"Guido Hauke" wrote:
> ich hab eine MySQL-Tabelle mit ca. 200 Feldern.
Mit an Sicherheit grenzender Wahrscheinlichkeit ist dein DB-Design
kaputt.
> Jetzt habe ich davon 40 Felder mit Varchar(6), in der ich verschiedene
> Farben(Bsp. FFFFFF) gespeichert habe.
1. Warum VARCHAR statt CHAR?
Kennst du die Performance-"Strafe" für VARCHAR?
2. Warum überhaupt als Zeichenkette und nicht als Zahlen?
> Ich bin am überlegen, ob ich diese 40 Varchar-Felder in ein einziges
> Blob-Feld umwandele, und darin die 40 Felder als Array speichere. (ich
> benutze PHP:serialize)
Bloß nicht! Das wird fast sicher noch langsamer.
> Ich muss nicht 40 Felder selektieren, sondern nur eins.
Dann solltest du das auch einzeln abspeichern.
XL
Re: Performance: 40 Felder varchar(6) oder 1 Feld Blob mit Serialize
am 15.11.2004 14:02:55 von Niels Braczek
Guido Hauke schrieb:
> kann man damit die Performance von MYSQL & PHP beschleunigen?
> Ich muss nicht 40 Felder selektieren, sondern nur eins. Dafür muss
> ich aber mit serialize, bzw unserialize arbeiten?
16.5. Wie kann ich meine Datenbankperformance steigern?
http://www.php-faq.de/q/q-db-performance.html
25.5. Wie kann ich die Performance zweier Befehle vergleichen?
http://www.php-faq.de/q/q-code-performance.html
MfG
Niels
--
Eigendlich is n Standart in der Rechtschreibung föllig
egal. Hauptsache is, mann ferstet mich! Ich kapier nur
ned, wiso der PHP-Pharser immer mekert?
Re: Performance: 40 Felder varchar(6) oder 1 Feld Blob mit Serialize
am 15.11.2004 15:58:18 von do.not.REMOVETHAT
Axel Schwenke schrieb:
> Mit an Sicherheit grenzender Wahrscheinlichkeit ist dein DB-Design
> kaputt.
Da Menschen mit kaputten DB-Designs sowas immer nicht glauben wenn das
nur einer sagt, möchte ich einfach nur mal zustimmen.
AOL, Matthias
Re: Performance: 40 Felder varchar(6) oder 1 Feld Blob mitSerialize
am 15.11.2004 16:12:41 von Peter Marbaise
"Guido Hauke" writes:
> Hallo,
2 Hinweise
deklariere deine Umlaute einmal korrekt (nur Mut das geht auch mit OE)
und wenn du schon deine Frage in mehrere Gruppen stellst, was
ggfs. durchaus Sinn machen kann, dann bitte ein F'up setzen
> ich hab eine MySQL-Tabelle mit ca. 200 Feldern. Ich möchte die
> Datenbank-Performance beschleunigen.
dann denk mal über die 200 Felder nach :-(
> Jetzt habe ich davon 40 Felder mit Varchar(6), in der ich verschiedene
> Farben(Bsp. FFFFFF) gespeichert habe.
warum varchar anstatt char
>
> Ich bin am überlegen, ob ich diese 40 Varchar-Felder in ein einziges
> Blob-Feld umwandele, und darin die 40 Felder als Array speichere. (ich
> benutze PHP:serialize)
das geht auch direkt als String der dann bei Bedarf mit Teilstring
gezogen wird
ciao Peter
--
WWW : http://www.marbaise.de/ Uptime: 33 Days 22 Hours
Debian 3.0 und WLan http://www.tuxoche.de/index.php/2/art/11/
Re: Performance: 40 Felder varchar(6) oder 1 Feld Blob mit Serialize
am 15.11.2004 16:13:58 von Frank Schenk
Matthias P. Wuerfl wrote:
> Axel Schwenke schrieb:
>
>> Mit an Sicherheit grenzender Wahrscheinlichkeit ist dein DB-Design
>> kaputt.
>
>
> Da Menschen mit kaputten DB-Designs sowas immer nicht glauben wenn das
> nur einer sagt, möchte ich einfach nur mal zustimmen.
>
> AOL, Matthias
Kaputt ist garkein Ausdruck wenn ich das so lese, daher
/fullack
Gruss, Frank