linux下mysql的drop table命令不能把表和相关存储信息都删除干净,怎么弄

linux下mysql的drop table命令不能把表和相关存储信息都删除干净,怎么弄,第1张

使用OPTIMIZE TABLE语句可以。

OPTIMIZE TABLE语法

OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...

如果您已经删除了表的一大部分,或者如果您已经对含有可变长度行的表(含有VARCHAR, BLOB或TEXT列的表)进行了很多更改,则应使用OPTIMIZE TABLE。被删除的记录被保持在链接清单中,后续的INSERT *** 作会重新使用旧的记录位置。您可以使用OPTIMIZE TABLE来重新利用未使用的空间,并整理数据文件的碎片。

在多数的设置中,您根本不需要运行OPTIMIZE TABLE。即使您对可变长度的行进行了大量的更新,您也不需要经常运行,每周一次或每月一次即可,只对特定的表运行。

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

对于MyISAM表,OPTIMIZE TABLE按如下方式 *** 作:

1.如果表已经删除或分解了行,则修复表。

2.如果未对索引页进行分类,则进行分类。

3.如果表的统计数据没有更新(并且通过对索引进行分类不能实现修复),则进行更新。

对于BDB表,OPTIMIZE TABLE目前被映射到ANALYZE TABLE上。对于InnoDB表,OPTIMIZE TABLE被映射到ALTER TABLE上,这会重建表。重建 *** 作能更新索引统计数据并释放成簇索引中的未使用的空间。

要重新使用未使用的空间并减小文件的尺寸,则使用OPTIMIZE TABLE语句或myisamchk应用程序重新编排表。OPTIMIZE TABLE更简便,但是myisamchk速度更快。

1.删除游标所在的一整行(常用) 2.删除光标所在的向下n行,例如20dd则是删除光标所在的向下 3.删除光标所在到第一行的所有数据 4.删除光标所在到最后一行的所有数据 5.删除光标所在处,到该行的最后一个字符 6.那个是数字0,删除光标所在到该行的最前面的一个字符 7.x向后删除一个字符(相当于[del]按键), X向前删除一个字符(相当于[backspace]即退格键) 8.n为数字,连续向后删除n个字符


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7501377.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-06
下一篇2023-04-06

发表评论

登录后才能评论

评论列表(0条)

    保存