【问题标题】:What is CHECKSUM in CREATE TABLE statement and what is default value?CREATE TABLE 语句中的 CHECKSUM 是什么,默认值是什么?
【发布时间】:2015-01-08 19:33:55
【问题描述】:

我可以看到CHECKSUM = DEFAULT 总是在 CREATE STATEMENT 表中定义。 谁能告诉我 CREATE TABLE 语句中的 CHECKSUM 是什么以及 DEFAULT 值是什么?

CREATE TABLE SCHEMA.MyTable ,NO FALLBACK ,
     NO BEFORE JOURNAL,
     NO AFTER JOURNAL,
     CHECKSUM = DEFAULT,
     DEFAULT MERGEBLOCKRATIO
     (

注意:以上结构取自 Teradata 表结构,但您可以根据任何数据库来回答我。

【问题讨论】:

  • 如果您希望 MySQL 为所有行维护实时校验和(即 MySQL 在表更改时自动更新的校验和),请将其设置为 1。这使得表更新速度有点慢,但也更容易找到损坏的表。 CHECKSUM TABLE 语句报告校验和。 (仅限 MyISAM。) 来源:mysql docs

标签: mysql sql oracle teradata


【解决方案1】:

DEFAULT 使用系统范围的全局值,可以使用 DBS Control 实用程序定义。

这适用于 Teradata 数据库,因为不同数据库的校验和完整性实施方式不同(因此无法用“任何数据库”来回答这个问题),尽管有些可能看起来相似。有关 Teradata 的更多信息CHECKSUMsee documentation

至于CHECKSUM 的目的,它是额外的(对文件系统)数据完整性验证。哈希是根据正在写入的数据计算的,并与它一起写入。在随后的读取中,根据读取的数据计算哈希值,并进行比较。如果它们不同,则表示数据已损坏。

【讨论】:

  • 谢谢。但是文档仍然没有解释什么是校验和以及它的用途是什么?仅解释默认值。你能解释一下吗?
猜你喜欢
  • 1970-01-01
  • 2012-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多