Weniger Abfragen mit serialize

glowhand

Programmierer
21 April 2006
273
16
Hallo, Leute...

habe mal eine Frage...

ist es nicht schneller, statt viele verschiedene einträge in der datenbank zu machen, die gewünschten einträge mit serialize zu maskieren und dies dann nur als einen eintrag in der datenbank im type "text" zu speichern?
ordentlich ist das vielleicht nicht (widerpsirhct vollkommen den regeln der normalisierung), aber das sollte den datenbankzugriff doch erheblich optimieren... richtig?
den einzelnen ausgelesenen eintrag kann man dann ja wieder mit unserialize zu einem array formen und man hat wieder seine zig daten...
 
Solang du nur SELECT * und INSERT haben willst, mag das so sein.

Stell dir nur mal ein
Code:
[FONT=Courier New][B][COLOR=#9932cc]SELECT[/COLOR][/B] `field`
[B][COLOR=#9932cc]FROM[/COLOR][/B] `table`
[B][COLOR=#9932cc]WHERE[/COLOR][/B] `x`+`y`<25*`z` 
  [B][COLOR=#9932cc]AND[/COLOR][/B] [B][COLOR=#9932cc]SUBSTRING[/COLOR][/B][COLOR=#9932cc]([/COLOR]`foo`,4,7[COLOR=#9932cc])[/COLOR]='xdefrgh'
[B][COLOR=#9932cc]ORDER[/COLOR][/B] [B][COLOR=#9932cc]BY[/COLOR][/B] `foobar` [B][COLOR=#9932cc]DESC
[/COLOR][/B][/FONT][FONT=Courier New][B][COLOR=#9932cc]LIMIT[/COLOR][/B] 35, 7[/FONT]
vor.

Da liest du komplett alles (z.B. 1000000 Zeilen à 70 Spalten) aus und darfst dann den Filter, die Sortierung und die Begrenzung in PHP implementieren :LOL: 8O
 
Jo und SQL kommt auch mit ne großen Menge an Anfragen noch klar, dafür sind diese Server konzipiert.
 
ist es nicht schneller, statt viele verschiedene einträge in der datenbank zu machen, die gewünschten einträge mit serialize zu maskieren und dies dann nur als einen eintrag in der datenbank im type "text" zu speichern?

Wie kommst du drauf das es schneller werden könnte? Eine Datenbank ist optimiert um Daten zuverwalten, also wirst du so gar nix schaffen, ausser das es lagsamer wird. Bei ner dynamsichen Tabelle bringt es dir vielleicht ein paar ms wenn du ein Feld anstatt 10 Felder ausliest, aber die gewonnen Zeit verpulferst du mit sicherheit um ein vielfaches durch das Entpacken der Daten. (unserialize) Mal ganz davon abgesehen was passiert wenn du nur ein Feld haben willst, oder was passiert wenn du ein Feld updaten willst? Du müsstes so immer mit den kompletten Daten arbeiten was mit sicherheit unperformanter ist als mit einem einzelnen Feld aus dem Datensatz.