Chinaunix首页 | 论坛 | 博客
  • 博客访问: 324587
  • 博文数量: 53
  • 博客积分: 1132
  • 博客等级: 少尉
  • 技术积分: 451
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-18 14:22
文章分类

全部博文(53)

文章存档

2014年(1)

2013年(11)

2012年(17)

2011年(16)

2010年(8)

分类: Mysql/postgreSQL

2010-11-24 10:15:41

Mysql使用Innodb储存引擎时,默认会使用共享表空间,导致多个数据库的表内容存放于ibdata1内,数据量超过10G会导致mysql查询慢
查询mysql是否开启共享表:
mysql> show variables like '%per_table%';
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| innodb_file_per_table | OFF   |
+-----------------------+-------+
1 row in set (0.00 sec)
将共享表空间更改为独立表空间,有2中方法:
1.先逻辑备份,然后修改my.conf中的 innodb_file_per_table参数=1,再将逻辑备份导入
2.
只要修改innodb_file_per_table参数,然后将需要修改的所有innodb的表都运行一遍 alter table table_name engine=innodb;即可
使用第二种方式修改后,原来库中的表中的数据会继续存放于ibdata1中,新建的表才会使用独立表空间
阅读(1846) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-11-24 14:39:15

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com