zoukankan      html  css  js  c++  java
  • MySQL InnoDB独立表空间模式的优点和缺点介绍

     

    File-Per-Table的优点

    1.当表删除或者truncate,空间可以被OS回收。
    2.Truncate table在单个.ibd文件上执行更快。
    3.可以为每个表指定一个特定存储。优化IO,空间管理。CREATE TABLE ... DATA DIRECTORY =absolute_path_to_directory 。
    4.运行OPTIMEIZE TABLE,压缩或者重建创建表空间。运行OPTIMIZE TABLE InnoDB会创建一个新的ibd文件。当完成时,老的表空间会被新的代替。
    5.可以移动单个表,不需要移动整个数据库
    6.可以把表复制到另外一个实例
    7.innodb_file_per_table启动后才能使用Barracuda文件格式。
    8.可以更有效的存储带BLOB,TEXT使用动态行模式的表。
    9.使用innodb_file_per_table可以提高recovery的成功率,减少损坏错误发生恢复的时间。
    10.可以快速的备份,恢复单个表。
    11.innodb_file_per_table 可以从备份中去除一个表
    12.innodb_file_per_table在备份和复制表时,容易观察每个表的状态。
    13.可以通过文件系统直接观察表的大小。
    14.当innodb_flish_method设置为O_DIRECT,通常linux文件系统不允许并发的写入同一个文件。使用innodb_file_per_table就会有性能提升。
    15.不启用innodb_file_per_table,数据都会放在系统表空间中,最大64TB,如果使用innodb_file_per_table每个表可以64TB。

    File-Per-Table的缺点:

    1.表空间中的空间只能被这个表使用
    2.fsync操作必须在每个表上都运行一遍
    3.mysqld必须保持一个打开的文件句柄,表太多会影响性能。
    4.会消耗很多文件描述
    5.innodb_file_per_tablezhiyou 5.6.6或更高版本才能用,有向下兼容问题。
    6.如果很多表都增长,会出现文件碎片问题。导致drop表和表扫描性能下降。
    7.当drop表的时候会扫描buffer pool,如果太大会比较耗时。
    8.innodb_autoextend_increment指定当文件满了之后增长的空间。
  • 相关阅读:
    使用Xshell和Xftp部署简单的项目
    1-27 sed基本编程和cut基本应用
    1-26-1-expect无交互式-正则表达式
    1-24-case流程控制和while循环语句的使用
    1-23-shell脚本之-if流程控制语句和for循环语句的使用
    1-22-shell脚本基本应用-实验手册
    1-22-shell脚本的基础
    1-21 网络管理相关的命令
    总结 1-1 ~ 1-6
    windows系统下Eclipse启动界面更改
  • 原文地址:https://www.cnblogs.com/shamo89/p/8664982.html
Copyright © 2011-2022 走看看