如何查询mysql里某张表所有记录所占内存?我想比较一下innodb表和myisam表所占用内存大小,谢谢
解决方案 »
- 如何从不同的表里选取一个总数的行并且按时间顺序排列。
- mysql如何在新建表时以日期命名表名
- 请帮我看看 /usr/local/bin/mysql-proxy 命令设置读写分离并启动的
- java.sql.SQLException: Incorrect string value: '\xC2\x8Apani...
- 求达人解答:MFC里如何获得MySQL表中某一列的均值
- mysql中移动表到另一个数据库
- mysql 不停的重启,Log 报有InnoDB: Database page corruption on disk or a failed
- mysql update 语句无效
- 求教 保存修改后的表
- mysql 多字段多关键词根据匹配度排序查找,2千万数据。如何优化sql
- 考考大家的SQL语句水平
- 跨服务器访问mysql
平时,表不是会被加载到内存中去的。
5.13.1. 查询高速缓冲如何工作
5.13.2. 查询高速缓冲SELECT选项
5.13.3. 查询高速缓冲配置
5.13.4. 查询高速缓冲状态和维护
查询缓存存储SELECT查询的文本以及发送给客户端的相应结果。如果随后收到一个相同的查询,服务器从查询缓存中重新得到查询结果,而不再需要解析和执行查询。
http://dev.mysql.com/doc/refman/5.1/zh/optimization.html#memory-use
7.5.5. MySQL如何使用内存
下面的列表中列出了mysqld服务器使用内存的一些方法。在适用的地方,给出了内存相关的系统变量名:
然后你可以查看 Data_length 得到数据长度,但只是参考,并不精确。 MyISAM的数据文件就在datadir/dbname中的 tablename.myd, *.myi, *.frm, 但innodb 的都存于一个ibdata文件中。mysql> show table status;
+------+--------+---------+------------+--------+----------------+-------------+-----
| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_
+------+--------+---------+------------+--------+----------------+-------------+-----
| t1 | MyISAM | 10 | Fixed | 100000 | 9 | 900000 | 2533
| t2 | InnoDB | 10 | Compact | 11 | 1489 | 16384 |
| ta | InnoDB | 10 | Compact | 3 | 5461 | 16384 |
| tb | InnoDB | 10 | Compact | 200 | 81 | 16384 |
+------+--------+---------+------------+--------+----------------+-------------+-----
4 rows in set (0.16 sec)
mysql>