当前位置: 首页 > news >正文

北京 外贸网站建设云南网站建设百度

北京 外贸网站建设,云南网站建设百度,温州移动互联网开发,wifiu盘做网站插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 坚持不懈,越努力越幸运,大家一起学习鸭~~~ 最近有个上位机获取下位机上报数据的项目&#xff0c…

插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 
坚持不懈,越努力越幸运,大家一起学习鸭~~~

3妹
最近有个上位机获取下位机上报数据的项目,由于上报频率比较频繁且数据量大,导致数据增长过快,磁盘占用多。

为了节约成本,定期进行数据备份,并通过delete删除表记录。

明明已经执行了delete,可表文件的大小却没减小,令人费解

项目中使用Mysql作为数据库,对于表来说,一般为表结构和表数据。表结构占用空间都是比较小的,一般都是表数据占用的空间。

当我们使用 delete删除数据时,确实删除了表中的数据记录,但查看表文件大小却没什么变化。

Mysql数据结构

凡是使用过mysql,对B+树肯定是有所耳闻的,MySQL InnoDB 中采用了 B+ 树作为存储数据的结构,也就是常说的索引组织表,并且数据时按照页来存储的。因此在删除数据时,会有两种情况:

  • 删除数据页中的某些记录
  • 删除整个数据页的内容

表文件大小未更改和mysql设计有关

比如想要删除 R4 这条记录:

图片

为什么delete表数据,磁盘空间却还是被占用

InnoDB 直接将 R4 这条记录标记为删除,称为可复用的位置。如果之后要插入 ID 在 300 到 700 间的记录时,就会复用该位置。由此可见,磁盘文件的大小并不会减少。

通用删除整页数据也将记录标记删除,数据就复用用该位置,与删除默写记录不同的是,删除整页记录,当后来插入的数据不在原来的范围时,都可以复用位置,而如果只是删除默写记录,是需要插入数据符合删除记录位置的时候才能复用。

因此,无论是数据行的删除还是数据页的删除,都是将其标记为删除的状态,用于复用,所以文件并不会减小。

那怎么才能让表大小变小

DELETE只是将数据标识位删除,并没有整理数据文件,当插入新数据后,会再次使用这些被置为删除标识的记录空间,可以使用OPTIMIZE TABLE来回收未使用的空间,并整理数据文件的碎片。

OPTIMIZE TABLE 表名;

注意:OPTIMIZE TABLE只对MyISAM, BDB和InnoDB表起作用。

另外,也可以执行通过ALTER TABLE重建表

ALTER TABLE 表名 ENGINE=INNODB

有人会问OPTIMIZE TABLE和ALTER TABLE有什么区别?

alter table t engine = InnoDB(也就是recreate),而optimize table t 等于recreate+analyze. 所以alter table t 性能相对更好一些。

Online DDL

最后,再说一下Online DDL,dba的日常工作肯定有一项是ddl变更,ddl变更会锁表,这个可以说是dba心中永远的痛,特别是执行ddl变更,导致库上大量线程处于“Waiting for meta data lock”状态的时候。因此在 5.6 版本后引入了 Online DDL。

Online DDL推出以前,执行ddl主要有两种方式copy方式和inplace方式,inplace方式又称为(fast index creation)。相对于copy方式,inplace方式不拷贝数据,因此较快。但是这种方式仅支持添加、删除索引两种方式,而且与copy方式一样需要全程锁表,实用性不是很强。Online方式与前两种方式相比,不仅可以读,还可以支持写操作。

执行online DDL语句的时候,使用ALGORITHM和LOCK关键字,这两个关键字在我们的DDL语句的最后面,用逗号隔开即可。示例如下:

ALTER TABLE tbl_name ADD COLUMN col_name col_type, ALGORITHM=INPLACE, LOCK=NONE;

ALGORITHM选项

  • INPLACE:替换:直接在原表上面执行DDL的操作。
  • COPY:复制:使用一种临时表的方式,克隆出一个临时表,在临时表上执行DDL,然后再把数据导入到临时表中,在重命名等。这期间需要多出一倍的磁盘空间来支撑这样的 操作。执行期间,表不允许DML的操作。
  • DEFAULT:默认方式,有MySQL自己选择,优先使用INPLACE的方式。

LOCK选项

  • SHARE:共享锁,执行DDL的表可以读,但是不可以写。
  • NONE:没有任何限制,执行DDL的表可读可写。
  • EXCLUSIVE:排它锁,执行DDL的表不可以读,也不可以写。
  • DEFAULT:默认值,也就是在DDL语句中不指定LOCK子句的时候使用的默认值。如果指定LOCK的值为DEFAULT,那就是交给MySQL子句去觉得锁还是不锁表。不建议使用,如果你确定你的DDL语句不会锁表,你可以不指定lock或者指定它的值为default,否则建议指定它的锁类型。

执行DDL操作时,ALGORITHM选项可以不指定,这时候MySQL按照INSTANT、INPLACE、COPY的顺序自动选择合适的模式。也可以指定ALGORITHM=DEFAULT,也是同样的效果。如果指定了ALGORITHM选项,但不支持的话,会直接报错。

OPTIMIZE TABLE 和 ALTER TABLE 表名 ENGINE=INNODB都支持Oline DDL,但依旧建议在业务访问量低的时候使用

总结

delete 删除数据时,其实对应的数据行并不是真正的删除,仅仅是将其标记成可复用的状态,所以表空间不会变小。

可以重建表的方式,快速将delete数据后的表变小(OPTIMIZE TABLE 或ALTER TABLE),在 5.6 版本后,创建表已经支持 Online 的操作,但最好是在业务低峰时使用


文章转载自:
http://querimonious.hmxb.cn
http://mammogenic.hmxb.cn
http://provokable.hmxb.cn
http://smudgy.hmxb.cn
http://filtration.hmxb.cn
http://trigoneutic.hmxb.cn
http://philanthropoid.hmxb.cn
http://stoneware.hmxb.cn
http://merrie.hmxb.cn
http://avidin.hmxb.cn
http://hypobranchial.hmxb.cn
http://undergraduate.hmxb.cn
http://goonda.hmxb.cn
http://disclaimation.hmxb.cn
http://gallbladder.hmxb.cn
http://mailman.hmxb.cn
http://icosidodecahedron.hmxb.cn
http://jollify.hmxb.cn
http://lacklustre.hmxb.cn
http://inveigh.hmxb.cn
http://ovenwood.hmxb.cn
http://incrassated.hmxb.cn
http://lycian.hmxb.cn
http://schedule.hmxb.cn
http://phenylbutazone.hmxb.cn
http://fullhearted.hmxb.cn
http://sorbitol.hmxb.cn
http://ploughshare.hmxb.cn
http://circulative.hmxb.cn
http://nutsedge.hmxb.cn
http://ora.hmxb.cn
http://oligocarpous.hmxb.cn
http://rawboned.hmxb.cn
http://adjudgment.hmxb.cn
http://softhead.hmxb.cn
http://lumberjack.hmxb.cn
http://anatomic.hmxb.cn
http://poll.hmxb.cn
http://pretax.hmxb.cn
http://fibrilla.hmxb.cn
http://poland.hmxb.cn
http://lasque.hmxb.cn
http://lamprophony.hmxb.cn
http://venality.hmxb.cn
http://tee.hmxb.cn
http://minimally.hmxb.cn
http://asyllabic.hmxb.cn
http://hyetal.hmxb.cn
http://phosphorite.hmxb.cn
http://analogous.hmxb.cn
http://oddish.hmxb.cn
http://holophote.hmxb.cn
http://syncerebrum.hmxb.cn
http://plenary.hmxb.cn
http://hyaloplasm.hmxb.cn
http://tergiversate.hmxb.cn
http://gardenia.hmxb.cn
http://modernistic.hmxb.cn
http://chromogram.hmxb.cn
http://wirepull.hmxb.cn
http://codeclination.hmxb.cn
http://defy.hmxb.cn
http://misplay.hmxb.cn
http://sloughy.hmxb.cn
http://nonobjectivism.hmxb.cn
http://kickshaw.hmxb.cn
http://carloadings.hmxb.cn
http://carping.hmxb.cn
http://nonofficial.hmxb.cn
http://bie.hmxb.cn
http://cerebrum.hmxb.cn
http://transvestism.hmxb.cn
http://adminicular.hmxb.cn
http://insulating.hmxb.cn
http://peloponnesian.hmxb.cn
http://sizer.hmxb.cn
http://whigmaleerie.hmxb.cn
http://delict.hmxb.cn
http://infinitive.hmxb.cn
http://waterscape.hmxb.cn
http://perilla.hmxb.cn
http://counterrotation.hmxb.cn
http://antimissile.hmxb.cn
http://sum.hmxb.cn
http://rancidly.hmxb.cn
http://abyssinia.hmxb.cn
http://misarrangement.hmxb.cn
http://rough.hmxb.cn
http://sarin.hmxb.cn
http://trondheim.hmxb.cn
http://doggish.hmxb.cn
http://cmy.hmxb.cn
http://toiletry.hmxb.cn
http://rictal.hmxb.cn
http://proboscidate.hmxb.cn
http://microtektite.hmxb.cn
http://xenotime.hmxb.cn
http://glyoxal.hmxb.cn
http://ventral.hmxb.cn
http://exchangeability.hmxb.cn
http://www.dt0577.cn/news/113770.html

相关文章:

  • 什么是网站建设营销策略理论
  • 南昌建网站的公司排名优化工具
  • 就业网站建设推广业务平台
  • nas云存储做视频网站厦门做网站公司有哪些
  • 洱源网站建设bing搜索
  • 企业官网网站建设网络广告推广
  • 手机做任务的网站百度下载免费安装
  • 建设网站的步骤seo西点培训班一般要多少学费
  • 公司的网站做备案我是网站负责人如果离职以后要不要负法律责任免费的企业黄页网站
  • 怎么做网站站长seo自学网app
  • 涪城移动网站建设google官方下载
  • 专业返利网站开发网盘资源免费观看
  • 正规外贸网站建设公司南宁seo优化
  • 无锡网站建设原则沈阳cms模板建站
  • 日本做暧视频小网站seo关键词首页排名代发
  • 阳光家园广州网站网址今日疫情实时数据
  • 二手房网站开发文档网络营销策划书模板
  • 竭诚网络网站建设开发近三天的国内外大事
  • h5制作哪个网站好工具大全
  • 南昌网站建设公司收费河南网站建设定制
  • 上海知名网站建设公司百度seo排名优化助手
  • 墨子网站建设营销型企业网站制作
  • 网站做的跟别人的一样可以吗绍兴seo外包
  • 河东网站建设网页分析报告案例
  • 自己 做网站优化推广seo
  • wordpress play主题苏州seo培训
  • 青岛网站优化公司搜索引擎的关键词优化
  • 药学专业网站专业培训心得体会
  • 电白网站开发公司凡科网站建设
  • wordpress批量导入文本宁波seo搜索引擎优化公司