Sql 约束中 WITH 选项的目的是什么?

Tha*_*aks -1 sql-server

WITH选项 ( STATISTICS_NORECOMPUTE,PAD_INDEX, ALLOW_ROW_LOCKS,ALLOW_PAGE_LOCKS)的用途是什么?

我将以下约束应用于我的一张表,但我不知道这一切意味着什么。

WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, 
      ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
  )
Run Code Online (Sandbox Code Playgroud)

有人可以启发我吗?

SQL*_*tor 8

这些都不是限制。这些是表选项Microsoft 文档可以启发您,对这些选项中的每一个都有清晰简洁的解释:

PAD_INDEX = { ON | OFF } 当ON 时,FILLFACTOR 指定的可用空间百分比应用于索引的中间级别页面。当 OFF 或未指定 FILLFACTOR 值时,考虑到中间页上的键集,中间级页被填充到接近容量,至少为索引可以具有的最大大小的一行留下足够的空间。默认为关闭。

STATISTICS_NORECOMPUTE = { ON | OFF } 当 ON 时,不会自动重新计算过时的索引统计信息。关闭时,启用自动统计更新。默认为关闭。

IGNORE_DUP_KEY = { ON | OFF } 指定插入操作尝试将重复的键值插入唯一索引时的错误响应。IGNORE_DUP_KEY 选项仅适用于创建或重建索引后的插入操作。该选项在执行 CREATE INDEX、ALTER INDEX 或 UPDATE 时无效。默认为关闭。

ALLOW_ROW_LOCKS = { 开 | OFF } 当 ON 时,访问索引时允许行锁。数据库引擎确定何时使用行锁。关闭时,不使用行锁。默认值为开。

ALLOW_PAGE_LOCKS = { 开 | OFF } 设置为 ON 时,访问索引时允许页面锁定。数据库引擎确定何时使用页锁。关闭时,不使用页面锁定。默认值为开。