爱问知识人 爱问教育 医院库

Innodb共享表空间VS独立表空间 是什么?

首页

Innodb共享表空间VS独立表空间 是什么?

Innodb共享表空间VS独立表空间 是什么?

提交回答

全部答案

    2018-03-27 12:42:22
  •   在使用Innodb引擎时将要面对两种表空间的管理选择的问题,Innodb有两种管理表空间的方法:
    1.
    共享表空间(也可以拆分成多个小的表空间)
    2.
    独立表空间每一个表有一个独立的表空间。
    我个人推荐使用独立表空间。在性能和运维上独立表空间比共享的表空间有很多优势。
      下面我将分别说明一下两种表空间管理的特点。 共享表空间: 优点: 可以放表空间分成多个文件存放到各个磁盘上(表空间文件大小不受表大小的限制,如一个表可以分布在不同步的文件上)。数据和文件放在一起方便管理。 缺点: 所有的数据和索引存放到一个文件中以为着将有一个很常大的文件,虽然可以把一个大文件分成多个小文件,但是多个表及索引在表空间中混合存储,这样对于一个表做了大量删除操作后表空间中将会有大量的空隙,特别是对于统计分析,日值系统这类应用最不适合用共享表空间。
       我们知道共享表空间管理会出现表空间分配后不能回缩的问题,当出现临时建索引或是创建一个临时表的操作表空间扩大后,就是删除相关的表也没办法回缩那部分空间了。我们存在磁盘监控时,也许就报警不断了,但实际上MySQL还可以运行良好。另外,当磁盘上占用较多时性能也不是太好。
       这种情况处理只能是是建一个新的Slave从主库上Dump出来,然后在Dump到从库中,动作较大。 对于InnoDB Hot Backup备份的操作(或是直接冷备),每次需要CP的文件比较大。如果现在有180G的表空间,但实际数据只有50多G,那么我们将面对每次需要拷180G的数据。
       这种方式也许mysqldump是一个好的处理方式了。 独立表空间: 在配置文件(my。cnf)中设置: innodb_file_per_table 优点: 1. 每个表都有自已独立的表空间。 2. 每个表的数据和索引都会存在自已的表空间中。
       3. 可以实现单表在不同的数据库中移动。 4. 空间可以回收(除drop table操作处,表空不能自已回收)。

    y***

    2018-03-27 12:42:22

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):