[MySQL] Zu viele Tabellendaten(ca. 15 millionen sprich 1,4 GB)

FBIagent

Erfahrenes Mitglied
Moin,

wie im Betreff schon geschrieben habe ich in einer MySQL Tabelle ca. 15 millionen
Einträge(1,4 GB). Wenn ich jedoch nun ein Query auf diese Tabelle ausführe
(z.B SELECT * FROM `data` WHERE `id`='buchstabe') dauert es 5-10 minuten bis das Query abgeschlossen ist.

Die ID's sind Buchstaben(Spalte id). Dann gibt es noch die Spalte 'value' Groß- und
Kleinschreibung haben andere value werte(z.B a hat in 'value' den Wert / und A hat in
'value' den Wert *).

Deswegen kann ich es auch nicht jeden einzelnen Eintrag als Textdatei speichern, da a.txt
und A.txt nicht in einem Ordner sein dürfen da nicht zwischen Groß- und Kleinschreibung
unterschieden wird. Desweiteren kann ich als Dateinamen auch nicht die Werte von 'value' nehmen da in diesen Sonderzeichen wie / vorkommen die in Dateinamen nicht erlaubt
sind. Was könnte mir abhilfe schaffen?

Vieleicht eine Datei in der die einzelnen Einträge untereinander gelistet sind?

z.B:
Code:
a = /
A = *
b = //
B = **

Eins sollte noch angemerkt sein: Es sollen noch aktuelle_einträge+(62*aktuelle_einträge)
hinzukommen.

THX im Vorraus
MFG FBIagent
 
Hi,

Erstmal stellt sich mir die Frage, wie man mit 52 möglichen Buchstaben als ID auf 15 Mio. Datensätze kommt :confused:
Zu deinem Problem:
Speicher doch im Datei namen, Datum und Uhrzeit mit, so kannst du alle einzelnen Unterscheiden
 
Johannes Röttger hat gesagt.:
Tja, ich wuerde sagen, fuer diese Menge an Daten hast du einfach das falsche DBMS gewaehlt. :)

Hm... naja was wäre denn von der performance her am vorteilhaftesten?

THX im Vorrhaus
MFG FBIagent
 
Zuletzt bearbeitet:
Hallo!

Tja, ich wuerde sagen, fuer diese Menge an Daten hast du einfach das falsche DBMS gewaehlt. :)

das wuerde ich nicht sagen. Ich habe schon MySQL basierte Systeme gesehen, die meherere GB Daten verwaltet haben und dennoch aktzeptable Antwortzeiten lieferten.

@OP
Hoert sich fuer mich nach einem sehr seltsamen Datenmodell an... was machst du denn da genau?

Gruss Tom
 
Nunja, um wirklich effizient in diesen Datenmenge arbeiten zu koennen ist MySQL einfach nicht ausgelegt. Ich wuerde ein PostgresQL vorschlagen, da es, wie MySQL, OpenSource und umsonst ist und ehr fuer diese Dinge geschaffen wurde.
 
Thomas Darimont hat gesagt.:
Hoert sich fuer mich nach einem sehr seltsamen Datenmodell an... was machst du denn
da genau?

Verschlüsselung eines Strings. Die verschlüsselung soll beeinflusst werden vom aktuellem
Datum der Erstellung der Verschlüsselung, einem zusätzlichem String, und durch eine
Zusätzliche Zahl in Kombination mit den Werten der Datenbank.

Dies soll später mal vieleicht bei eigenen, etwas größeren Projekten in C++ angewendet
werden.

MFG FBIagent
 
Zuletzt bearbeitet:
Entschuldige aber auch auf die Gefahr hin daß ich dich verkehrt verstanden haben sollte: MySql bietet die Möglichkeit per eingebauter Funktionen zu ver- und zu entschlüsseln. Außerdem sind sha1- und md5- algorithmen eingebaut. Jedenfalls bei Version 5.0.16..

schönen abend noch

Alexander Schell
 

Neue Beiträge

Zurück