暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL的SQL语句 - 数据库管理语句 - 表维护语句 - CHECKSUM TABLE 语句

林员外聊编程 2021-03-07
191
CHECKSUM TABLE 语句
 
CHECKSUM TABLE tbl_name [, tbl_name] ... [QUICK | EXTENDED]
 
CHECKSUM TABLE 报告表内容的校验和。可以使用此语句验证备份、回滚或其他旨在将数据恢复到已知状态的操作前后的内容是否相同。
 
此语句需要表的 SELECT 权限。
 
视图不支持此语句。如果对视图运行 CHECKSUM TABLE,则校验和值始终为空,并返回警告。
 
对于不存在的表,CHECKSUM TABLE 返回 NULL 并生成警告信息。
 
在校验和操作期间,InnoDB 和 MyISAM 表会增加读锁。
 
性能考虑
 
默认情况下,将逐行读取整个表,并计算校验和。对于大型表,这可能需要很长时间,因此您只会偶尔执行此操作。通过使用 EXTENDED 子句,InnoDB 和除 MyISAM 以外的所有其他存储引擎会逐行计算,对于没有使用 CHECKSUM=1 子句创建的 MyISAM 表,也会逐行计算。
 
对于使用 CHECKSUM=1 子句创建的 MyISAM 表,CHECKSUM TABLE CHECKSUM TABLE ... QUICK 可以很快返回表校验和。如果表不满足所有这些条件,QUICK 方法将返回 NULLInnoDB 表不支持 QUICK 方法。
 
校验和值取决于表行格式。如果行格式更改,校验和也会更改。例如,在 MySQL 5.6.5 之前的 MySQL 5.6 中,TIMEDATETIMETIMESTAMP 等时间类型的存储格式发生了变化,因此如果 5.5 版本的表升级到 MySQL 5.6,校验和值可能会发生变化。
 
重要
 
如果两个表的校验和不同,那么几乎可以肯定,这两个表在某些方面是不同的。但是,由于 CHECKSUM TABLE 使用的哈希函数不能保证无冲突,因此两个不相同的表也有很小的可能性产生相同的校验和。
 
 
 
 
 
官方网址:
https://dev.mysql.com/doc/refman/8.0/en/checksum-table.html
 

文章转载自林员外聊编程,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论