In den meisten Fällen können Sie die Leistungsfähigkeit von
        Abfragen einschätzen, indem Sie die Anzahl der Suchvorgänge
        auf der Festplatte ermitteln. Bei kleinen Tabellen finden Sie
        gewöhnlich pro derartigen Suchvorgang einen Datensatz (weil der
        Index im Zweifelsfall im Cache liegt). Bei größeren Tabellen
        können Sie bei der Verwendung von B-Tree-Indizes
        schätzungsweise die folgende Anzahl von Suchvorgängen
        annehmen, um einen Datensatz zu finden:
        log(.
      row_count) /
        log(index_block_length / 3 × 2
        / (index_length +
        data_pointer_length)) + 1
        In MySQL ist ein Indexblock gewöhnlich 1024 Byte groß, der
        Datenzeiger umfasst weitere vier Byte. Bei einer Tabelle mit
        500.000 Datensätzen und einer Indexlänge von drei Byte (der
        Größe von MEDIUMINT) gibt die Formel
        log(500.000/log(1024/3*2/(3+4))+1 =
        4 Suchvorgänge aus.
      
Dieser Index würde eine Speicherkapazität von 500.000 × 7 × 3/2 = 5,2 Mbyte benötigen (ein typisches Indexpuffer-Füllungsverhältnis von 2 : 3 vorausgesetzt), d. h., Sie hätten wahrscheinlich einen Großteil des Indexes im Speicher und benötigen nur ein oder zwei Aufrufe zum Datenlesen, um den Datensatz zu finden.
Bei Schreiboperationen hingegen benötigen Sie vier Suchanforderungen, um zu ermitteln, wo ein neuer Indexwert abgelegt werden muss, und normalerweise zwei Suchvorgänge, um den Index zu aktualisieren und den Datensatz zu schreiben.
        Beachten Sie, dass die vorangegangene Beschreibung nicht
        bedeutet, dass Ihre Anwendungsleistung sich nach und nach um den
        Logarithmus N verringert. Solange
        alles vom Betriebssystem oder vom MySQL Server
        zwischengespeichert wird, verringert sich die Geschwindigkeit
        nur marginal, wenn die Tabellen größer werden. Sobald die
        Daten zu umfangreich geworden sind, um zwischengespeichert zu
        werden, geht alles viel langsamer, bis Ihre Anwendungen nur noch
        mit Suchvorgängen auf der Festplatte beschäftigt sind (deren
        Anzahl sich um log N erhöht). Um
        dies zu vermeiden, müssen Sie die Größe des Schlüssel-Caches
        erhöhen, wenn der Umfang Ihrer Daten zunimmt. Bei
        MyISAM-Tabellen wird die Größe des
        Schlüssel-Caches von der Systemvariablen
        key_buffer_size gesteuert. Siehe auch
        Abschnitt 7.5.2, „Serverparameter feineinstellen“.
      
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.

