optimize命令是mysql的常用优化表碎片的命令,但是在InnoDB与MyISAM这两个存储引擎中却有很大的分别。本文将对这两个常用的存储引擎进行讨论 方法/步骤 1 当对表有大量的增删改操作时,需要用optimize对表进行优化。可以减少空间与提高I/O性能,命令optimize table tablename;假如有foo表且存储引擎为MyISAM。 mysql>optimize table foo; +------------+----------+----------+----------+ | Table      | Op       | Msg_type | Msg_text | +------------+----------+----------+----------+ | test.foo| optimize | status   | OK       | +------------+----------+----------+----------+ 2 如果是InnoDB引擎,首先查看innodb_file_per_table(是否独享表空间)。 mysql>show variables like 'innodb_file_per_table'; +-----------------------+-------+ | Variable_name         | Value | +-----------------------+-------+ | innodb_file_per_table | OFF   | +-----------------------+-------+ OFF代表开启独享表空间没有打开,即采用的是默认的共享表空间。这个时候可以在mysql的datadir路径下看到一个非常大的文件ibdata1,这个文件存储了所有InnoDB表的数据与索引。 3 如果foo是InnoDB,执行如下命令 mysql>optimeze table foo; 会返回如图信息,最后的一条Table does not support optimize, doing recreate + analyze instead,即代表optimize无法优化表。 这个时候使用如下命令优化表 mysql>alter table foo ENGINE = 'InnoDB'; mysql>analyze table foo; 返回如下信息                         +------------------------+---------+----------+----------+ | Table                  | Op      | Msg_type | Msg_text | +------------------------+---------+----------+----------+ | test.foo | analyze | status   | OK       | +------------------------+---------+----------+----------+ 即可优化该表                              optimize在mysql中的用法 4 如果开启了独享表空间,即每张表都有ibdfile。这个时候如果删除了大量的行,索引会重组并且会释放相应的空间因此不必优化 5 由于共享表空间所有表的数据与索引都存放于ibddata1文件中,随着数据量的增长会导致该文件越来越大。超过10G的时候查询速度就非常慢,因此在编译的时候最好开启独享表空间。因为mysql默认是关闭了独享表空间,下面有两个解决方案 6 方案一:先逻辑备份所有的数据库,将配置文件中innodb_file_per_table参数=1,再将备份导入 7 方案二:只要修改innodb_file_per_table参数,然后将需要修改的所有innodb的表都运行一遍 alter table table_name engine=innodb;即可使用第二种方式修改后,原来库中的表中的数据会继续存放于ibdata1中,新建的表才会使用独立表空间

mysql optimize 用法_optimize在mysql中的用法相关推荐

  1. mysql的explain怎么看_mysql中explain用法详解

    如果在select语句前放上关键词explain,mysql将解释它如何处理select,提供有关表如何联接和联接的次序. explain的每个输出行提供一个表的相关信息,并且每个行包括下面的列: 1 ...

  2. mysql查询重复的名字_Mysql中like用法:查询名字中含有风字的学生信息

    一.表名和字段 –1. 学生表 student (s_id,s_name,s_birth,s_sex) –学生编号,学生姓名,出生年月,学生性别 –2. 课程表 course (c_id,c_name ...

  3. mysql raiserror_RAISERROR在SQL Server数据库中的用法

    raiserror  是由单词 raise error 组成 raise  增加; 提高; 提升 raiserror 的作用: raiserror 是用于抛出一个错误.[ 以下资料来源于sql ser ...

  4. [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法

    一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...

  5. return在php中用法,细致解读PHP中return用法(附代码)_后端开发

    在大部分编程言语中,return关键字能够将函数的实行效果返回,PHP中return的用法也迥然不同,对初学者来讲,控制PHP中return的用法也是进修PHP的一个入手下手. 起首,它的意义就是返回 ...

  6. java中switch用法举例范围_Java中Switch用法代码示例

    一.java当中的switch与C#相比有以下区别 注:在java中switch后的表达式的类型只能为以下几种:byte.short.char.int(在Java1.6中是这样), 在java1.7后 ...

  7. python中print的用法_Python2与Python3中print用法总结

    Python2中的print用法 在Python2 中 print 是一种输出语句 strHello = 'Hello Python' print strHello # Hello Python 1. ...

  8. python的继承用法_python之继承中组合用法与菱形继承关系查找法

    1.什么是组合 组合就是一个类的对象具备某一属性,该属性的值是指向另外外一个类的对象 2.为什么用组合 组合也是用来解决类与类之间代码冗余问题 3.用法 class Course:           ...

  9. python生成器用法_理解python中生成器用法

    生成器(generator)概念 生成器不会把结果保存在一个系列中,而是保存生成器的状态,在每次进行迭代时返回一个值,直到遇到StopIteration异常结束. 生成器语法 生成器表达式: 通列表解 ...

最新文章

  1. Linux内核跟踪之trace框架分析【转】
  2. 剑指offer_第7题_斐波那契数列
  3. 【每日一算法】相交链表
  4. Scrum Mastery:有效利用组织的5个步骤
  5. 调整体态的最佳瑜珈调息法
  6. 深入浅出:移动端(Android 和 iOS)数据采集埋点 SDK
  7. factorybean 声明_阿里面试题:BeanFactory与FactoryBean的区别
  8. MONGODB 集群 配置及 客户端PHP 连接
  9. 重复运行JUnit测试而没有循环
  10. arccatalog点要素显示不完,shp数据全图显示正常,放大要素不能显示的问题
  11. C#与Matlab混合编程中遇到的“MathWorks.MATLAB.NET.Arrays.MWNumericArray”的类型初始值设定项引发异常。
  12. 从VC++ 6.0 MSDEV到Visual Studio 2017的过渡阶段
  13. java ftp下载文件夹下的所有文件_ftp下载文件夹下的文件,从ftp下载某一文件夹下的所有文件...
  14. Apache ShenYu源码阅读系列-基于Http长轮询的数据同步
  15. 不支持android浏览器下载工具,android 默认浏览器 无法下载,此手机不支持此内容(自定义文件or APK文件看过了)...
  16. 斗牛(牛牛)概率计算器
  17. php 清除word标签,word如何取消修改标注
  18. java编程之拼图_Java编程制作拼图游戏
  19. 文创样机大合集100套,设计师必备
  20. 分部积分出现积回去的情况

热门文章

  1. webAR涉及的技术
  2. 程序员们,AI来了,机会来了,危机也来了
  3. 小程序的上拉加载功能
  4. 批量关闭公众号推送_微信喊你「批量屏蔽公众号」啦!还有其他新功能!!
  5. 渐变色canvas-微信小程序
  6. java计算机毕业设计酒店预约入住系统源码+mysql数据库+系统+lw文档+部署
  7. Java接口开发流程总结
  8. GPS导航(6):GPS导航图形界面开发
  9. java 递归算法伪代码,从伪代码实现递归(NTRUE加密)
  10. hive的三种连接方式