要怎麼取得每一筆reocrd 在 database的 size ,
除了可以查看 schema 外,
更實際的作法可以觀看 table status
把 data_length 加上 index_length 就可以得到 table 的 size
在把它除以多少筆record 即可得到每一筆 record 需要多少 bytes 。
mysql> show table status\G
*************************** 3. row ***************************
Name: task_target
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 7
Avg_row_length: 2340
Data_length: 16384
Max_data_length: 0
Index_length: 16384
Data_free: 3373268992
Auto_increment: 8
Create_time: 2016-06-14 09:36:33
Update_time: NULL
Check_time: NULL
Collation: utf8_general_ci
Checksum: NULL
Create_options:
Comment:
(Data_length + Index_length ) / rows ---> 每個 row 的 size bytes
(Data_length + Index_length ) / rows /1024 /1024 ---> 每個 row 的 size bytes MB
MySQL :: MySQL 5.7 Reference Manual :: 14.7.5.36 SHOW TABLE STATUS Syntax
http://dev.mysql.com/doc/refman/5.7/en/show-table-status.html
沒有留言:
張貼留言