martin weiler: qery in grosser mySql datenbank

Beitrag lesen

halli hallo .. !

ich habe eine md5-hash datenbank mit ~ 10 Mio. einträgen.
wenn ich jetzt eine suche nach einem hash durchführe, dauert dies in etwa ~ 5 sekunden. hätte jemand ideen und/oder vorschläge, wie ich meine tabelle schneller und effizienter abfragen könnte?
ich möchte zb auch mehrere hashes auf einmal auslesen ... das dauert dann bei mir schon ne ganze weile.

meine struktur der tabelle ist:

CREATE TABLE md5 (
  id int(20) NOT NULL auto_increment,
  hash varchar(32) collate latin1_general_ci NOT NULL,
  value varchar(75) collate latin1_general_ci NOT NULL,
  PRIMARY KEY  (id)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

mein query sieht etwa folgendermassen aus:

$query = mysql_query('select value from md5 where hash = ''.$hash.''');

.. sollte ich lieber ordner erstellen, zb mit den ersten zwei chars des hashes ? und die daten in textfiles lagern ? zb ..

folder: aa / file: bb.txt

darin wären dann alle hashes die etwa so beginnen würden:
  >> aabb****************************

gruss martin