Sagen wir, ich habe eine Tabelle mit etwa 1 Million Zeilen, wobei die erste Spalte ein Primärschlüssel ist.Lädt MYSQL die gesamte Tabelle jedes Mal in den Cache?
Wenn dann laufe ich folgendes:
SELECT * FROM table WHERE id='tomato117' LIMIT 1
Hat der Tabelle ALL in den Cache gestellt bekommen (und damit die Abfrage verursacht als Zeilen mehr und mehr zu bremsen hinzugefügt bekommen) oder würde die Anzahl der Zeilen von Die Tabelle spielt keine Rolle, da die Abfrage den Primärschlüssel verwendet?
edit: (hinzugefügt Limit 1)
Er hat nie angegeben, dass er die InnoDB-Engine verwendet – TehShrike
Das Prinzip ist das gleiche für andere Motoren - sie behalten ihren eigenen Cache von Blöcken von der Scheibe (MyISAM stützt sich auf das Betriebssystem für MYD Dateien) und nur die Blöcke, die Sie berührt haben, werden eingelesen. – MarkR