ดูขนาดของ Index ใน MySQL

ทำไม 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 เยอะ เพื่อแก้ไขปัญหาต่อไป

0
167