ทำไม memory ถึงใช้เยอะขึ้นเรื่อย ๆ กัน บ่อยครั้งกินไปเรื่อย ๆ จนเกือบไม่เหลือ
คำถามที่น่าสนใจเกี่ยวกับ MySQL database คือ
ทำไม memory ถึงใช้เยอะขึ้นเรื่อย ๆ กัน บ่อยครั้งกินไปเรื่อย ๆ จนเกือบไม่เหลือ แต่ระบบก็ยังทำงานได้ปกตินะ หนึ่งในสิ่งที่เจอคือ การใช้งานจาก INDEX ต่าง ๆ ของแต่ละ table นั่นเอง ยกตัวอย่างการ query ข้อมูลมาดู ว่าอะไรที่ใช้งาน memory เยอะ ๆ บ้าง
select page_type, page_state, table_name, index_name, count(*) as Page_Count, count(*) * @@innodb_page_size /1024/1024 AS Total_Page_Size_in_MB, sum(data_size)/1024/1024 as Size_in_MB from information_schema.innodb_buffer_page group by page_type, page_state, table_name, index_name order by Size_in_MB desc
เจอผลลัพะ์แนว ๆ นี้ ซึ่งทำให้เรารู้ว่า ส่วนไหนที่ใช้งาน memory เยอะ เพื่อแก้ไขปัญหาต่อไป