MySQL: Addressierung der Werte
garry_weber
- datenbank
0 Vinzenz Mai0 Alex
Hallo Leute,
meine Tabelle hat jetzt rund um die 100.000 Zeilen und etwa 70.000 Spalten. Das System ist etwas lahm...
Nun wollt ich fragen, ob es möglich sei, dass ich nicht mehr Standart "SELECT balk FROM words WHERE anton Like 'wert'" Querys benutze, sondern gewissermaßen direkt sage, wo ein einzelner Wert gespeichert ist (unter der Voraussetzung, dass man die Addressen in Extra Tabellen gespeichert hat)?
Gibt es maßnahmen, das System auch anders zu beschleunigen? Wenn man die Tabelle in mehrere unterteilt, wird das System schneller?
Danke, Gruß,
Garry
Hallo,
meine Tabelle hat jetzt rund um die 100.000 Zeilen
das ist nichts Außergewöhnliches.
und etwa 70.000 Spalten.
Das hört sich einerseits nach nicht vorhandener Normalisierung an, andererseits sind die Hersteller von MySQL der Ansicht, dass die maximale Anzahl von Spalten je Tabelle 4096 sei. Die sollten das doch eigentlich wissen.
Könntest Du bitte Deine Angaben daher verifizieren bzw. richtigstellen?
Freundliche Grüße
Vinzenz
Hi Garry,
wenn Du die Tabelle in mehrere Unterteilst, nennt man das Normalisieren, wie von Vinzenz angesprochen.
Ja, dadurch wird das ganze System schneller.
SELECT balk FROM words WHERE anton Like 'wert'"
Wie direkter willst du es denn noch sagen ?
Du könntest höchstens eine Zeile noch direkter Ansprechen wenn du einen Index, also einen Autowert für jede Zeile hast und in der Abfrage direkt diese ID ansprichst.
SELECT balk FROM words WHERE id = wert LIMIT 1
Nebenbei:
Normalisierung ist eins der wichtigsten Elemente bei einem Datenbankkonzept.
Hierüber vermeidest du sehr viel Redundanz.
Gruß,
Alex.
PS: Bitte in kommenden Beiträgen etwas genauer auf das Problem und die gewünschte Hilfe eingehen.