扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
要创建索引,点击“新建”按钮,系统将创建一个缺省的索引名字。然后选择该索引的第一字段,我们可以根据需求选择尽可能多的字段,但需要注意的是,选择的字段越多,更新表时需要的时间越长。索引的使用应当仔细规划,以在代价不太大的情况获得更多的方便。
如果有不止一个文件组,我们可以选择将索引放在数据库表之外不同的数据文件中。在有些情况下这是有利的,尤其是数据文件存储在单独的物理卷上时。由于能够提高性能,数据库管理员经常这样作。在较小的台式机数据库中只有一个文件组。接下来我们必须决定索引是否是唯一的,唯一的索引要求索引中的一个值只能出现在一个记录中,缺省情况下主关健字是唯一的索引。我们可以使用非唯一性索引加速对使用非唯一性实体的表的访问。如果只需要保证一个记录只有一个特定的值,我们可以使用唯一性约束,约束与索引类似,但它使用哈希函数值而不是实际的关健字值。通过使用哈希值,检查唯一性的速度将非常迅速,但它的不足之处是使用约束不能加速对数据的访问。
如果出现相同的关健字,“忽略相同关健字”复选框能够使SQL Server不异常中断插入记录命令,这并不意味着记录将会被插入,SQL Server只是不会中断这一交易,但会发出警告,Transact-SQL脚本中的其它语句将会得到执行。如果没有选择该复选框,SQL Server将发出一个错误信息,中止并回退该交易。我的建议是不要选择该复选框,而在我们的程序中处理出错代码,否则,我们就可能不知道表没有得到正确的更新。
另一个项目是“创建群集的索引”,这一选项适用于每全表只有一个索引的情况,它使SQL Server根据索引的排序对实际记录进行排序,这能够极大地提高顺序访问数据的速度,由于SQL Server必须将记录插入或移动到合适的位置,而不是简单地添加到表的末尾,插入和更新操作速度将因此而降低。
最后的“不自动使用重新计算”选择框不应当选择,它与在运行查询时Query Optimizer决定如何以最佳方式访问表有关。在后面我们还将讨论这一问题。
关系标签
只要“属性页”一打开,我们就会看到“关系”标签。在该标签上我们能够定义表之间的关系,并提供“说明参考完整性”(DRI)。搞清楚下面二个相关联的概念之间的差别是十分重要的:关系使用外码描述不同表间的连接;在相关的字段更新或被插入时,参考完整性使SQL Server明白应当采取什么样的措施。下面我们来仔细地研究二者之间的差别。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者