สิ่งหนึ่งที่จะต้องมีการพิจารณาเป็นวิธี MySQL ใช้บัฟเฟอร์สำหรับเครื่องมือการจัดเก็บข้อมูลที่สำคัญ: InnoDBและMyISAM
สิ่งที่อยู่ในหน่วยความจำแคชจะแตกต่างกันอย่างมากระหว่างเอนจินการจัดเก็บ
InnoDB เก็บแคชทั้งหน้าข้อมูลและหน้าดัชนี พวกเขาจะโหลดลงใน InnoDB บัฟเฟอร์สระว่ายน้ำซึ่งมีขนาดโดยinnodb_buffer_pool_size
MyISAM แคชหน้าเพียงดัชนีและพวกเขาจะโหลดลงในแคชคีย์ (Key บัฟเฟอร์) ซึ่งมีขนาดโดยkey_buffer_size
คุณต้องใช้information_schema.tablesเพื่อให้ได้ข้อมูลและดัชนีขนาดครอบครองบนดิสก์เพื่อขนาด InnoDB บัฟเฟอร์สระว่ายน้ำและ MyISAM แคชที่สำคัญได้อย่างถูกต้อง
ขึ้นอยู่กับจำนวนข้อมูลที่คุณมีและเวลาที่อนุญาตคุณสามารถอุ่นแคชดังนี้
สำหรับทุกโต๊ะTableT
- ไปที่แต่ละดัชนีNDX
- สำหรับแต่ละดัชนีNDX
- เรียกใช้ SELECT ทุกคอลัมน์ใน NDX อย่างน้อยหนึ่งคอลัมน์ที่ไม่ได้จัดทำดัชนีในTableTจาก TableT
ด้วยการทำเช่นนี้คุณจะรับประกันได้ว่าทุกหน้าข้อมูลและดัชนีจะได้รับการอ่านอย่างน้อยหนึ่งครั้ง พวกเขาจะนั่งในแคช แนวคิดนี้มีประสบการณ์ในส่วนหนึ่งและในหลักการโดยPercona Percona สร้างแนวคิดนี้เข้าMK-ทาส prefetch โปรแกรมนี้ทำคืออะไร
- อ่านล็อกรีเลย์บนสลาฟก่อนประมวลผลสคริปท์ SQL
- ใช้คำสั่ง SQL จากบันทึกการถ่ายทอดและแปลงเป็น SELECT โดยใช้ส่วนคำสั่ง WHERE, GROUP BY และ ORDER BY เป็นแนวทางในการเลือกดัชนี
- ดำเนินการคำสั่ง SELECT ที่มาจาก SQL ที่แปลงแล้ว
สิ่งนี้บังคับให้ทาสมี 99.99% ของข้อมูลที่ทาสต้องการเพื่อประมวลผล SQL อย่างรวดเร็ว สิ่งนี้ยังทำให้ทาสที่เตรียมไว้ในกรณีที่คุณล้มเหลวเป็นทาสด้วยตนเองและโปรโมตมันให้กับอาจารย์ที่มีเพียงแค่แคชชวลที่เหมือนกันกับคุณในฐานะอาจารย์ที่คุณล้มเหลวไป
สรุปผลการศึกษา
ไม่มีอะไรจะเต้นพร้อมแคชเต็มใจและสามารถให้คุณใช้ในสภาพแวดล้อมของการแทรกการปรับปรุงและการลบที่หนักหน่วง
ให้มันลอง !!!
ข้อแม้
ด้วยการกำเนิดของผลิตภัณฑ์เช่น memcached บางคนได้รับจากความต้องการในการปรับแต่ง MySQL ที่เหมาะสม จริงอยู่ที่ไซต์จำนวนมากได้รับประโยชน์จากการเพิ่มประสิทธิภาพในการดึงข้อมูลที่ได้รับจากการควบคุมพฤติกรรมการแคชข้อมูลขณะที่นักพัฒนาซอฟต์แวร์ได้เห็นด้วย memcached อย่างรวดเร็ว ไซต์อื่น ๆ หลายแห่งเพียงแค่เปลี่ยนเอนจิ้นการจัดเก็บหรือกำหนดค่า MySQL อย่างถูกต้องได้ตระหนักถึงประโยชน์ด้านประสิทธิภาพที่เหมือนกัน ก่อนที่จะยอมแพ้กับฐานข้อมูลและใช้เป็นที่เก็บอย่างเคร่งครัดให้ใช้ประโยชน์สูงสุดจากฐานข้อมูลของคุณ ติดตามดูความขยันเนื่องจากและคุณอาจประหลาดใจว่า MySQL จะทำอะไรให้คุณ