Was bedeuten die Einheitengrößen „Schlüsselpuffergröße“ und „Gesamtzahl MyISAM-Indizes“?

Was bedeuten die Einheitengrößen „Schlüsselpuffergröße“ und „Gesamtzahl MyISAM-Indizes“?

Ich habe MySQLTuner auf meiner Datenbank ausgeführt, um zu prüfen, ob alles richtig und optimal funktioniert, war mir jedoch hinsichtlich der für diese beiden Werte verwendeten Einheiten nicht klar.

So sieht die Ausgabe für Leistungsmetriken aus

-------- Performance Metrics -------------------------------------------------
[--] Up for: 2d 5h 11m 20s (47M q [249.471 qps], 45M conn, TX: 65B, RX: 8B)
[--] Reads / Writes: 79% / 21%
[--] Total buffers: 1.1G global + 2.7M per thread (300 max threads)
[!!] Maximum possible memory usage: 1.9G (198% of installed RAM)
[OK] Slow queries: 0% (43/47M)
[OK] Highest usage of available connections: 5% (17/300)
[OK] Key buffer size / total MyISAM indexes: 600.0M/128.0K
[OK] Key buffer hit rate: 100.0% (17K cached / 0 reads)
[OK] Query cache efficiency: 98.1% (46M cached / 47M selects)
[!!] Query cache prunes per day: 22728
[OK] Sorts requiring temporary tables: 0% (9 temp sorts / 65K sorts)
[!!] Joins performed without indexes: 2839
[OK] Temporary tables created on disk: 0% (235 on disk / 42K total)
[OK] Thread cache hit rate: 99% (79 created / 45M connections)
[!!] Table cache hit rate: 1% (400 open / 27K opened)
[OK] Open file limit used: 0% (0/1K)
[OK] Table locks acquired immediately: 100% (1M immediate / 1M locks)
[!!] Connections aborted: 99%
[!!] InnoDB data size / buffer pool: 6.5G/128.0M

Aber meine Frage bezieht sich auf diese Zeile

[OK] Key buffer size / total MyISAM indexes: 600.0M/128.0K

Ich weiß nicht, was die Einheiten bedeuten oder wie unterschiedlich sie in der Größe sind. Was ist „M“ und „K“?

Ich weiß, dass meine Schlüsselpuffergröße größer sein sollte als die MyISAM-Indizes, aber ich kann nicht sagen, ob das daran liegt, dass ich die Einheiten nicht verstehe. Ich habe online gesucht, konnte aber nicht die Antworten finden, nach denen ich gesucht habe. Wenn mir das jemand bitte erklären könnte, wäre ich sehr dankbar.

Antwort1

M steht für Megabyte, K steht für Kilobyte,

Schlüsselpuffergrößeist die MySQL-Einstellung mit der MyISAM-Engine verknüpft

Wenn Sie für alle Ihre Tabellen die InnoDB-Engine verwenden, benötigen Sie nur eine kleine (aber von Null verschiedene) Key_Buffer_Size, Sie benötigen jedoch eine große InnoDB_Buffer_Pool_Size.

Ich kann es nur wärmstens empfehlendiese Webseiteda es einfache Antworten auf ansonsten sehr komplexe Dinge gibt, nämlich MySQL-Optimierung. Wenn Sie also nicht viel Zeit aufwenden und es einfach auf etwas „relativ Gutes“ konfigurieren möchten, dann gehen Sie dorthin.

verwandte Informationen