私はこの質問に今日考えていた...Mysql - "SELECT field"は "SELECT *"としてメモリを埋めるのですか? - Innodb
私は、例えば、20フィールド、100Kの行を持つinnodbテーブルがある場合....どのようにメモリは、この2つの異なるクエリでいっぱいです:
1) SELECT field1, field2, field3 from table where field10 = '1';
2) Select * from table where field10 = '1';
どちらの場合も、メモリ全体がテーブル全体で満たされていますか? innodb_buffer_poolがいっぱいになったときに、どこで考慮に入れられますか?
こんにちはビルを好むかもしれない、あなたのプレゼンテーションのためのthaks、それは非常に興味深いですし、私はそれをすべて読んでするつもりです! もう1つの好奇心がありますが、答えは更新クエリでも同じですか? たとえば、2GBのテーブルを持っていて、10行の更新を行うと、その10行がバッファにロードされます。 – Jung
右。索引は、問合せが「検査済み行」を絞り込むのに役立ちます。検査された行はバッファー・プールにロードされるため、WHERE節のSQL条件を各行に適用することができます。 –