扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:赛迪网 738159 来源:天新网 2008年3月26日
关键字: 数据库 Mssql SQL SQL Server
怎样访问数据库中的数据
在SQL Server中,当访问数据库中的数据时,由SQL Server确定该表中是否有索引存在。如果没有索引,那么SQL Server使用表扫描的方法访问数据库中的数据。那么,查询处理器根据分布的统计信息生成该查询语句的优化执行规划,以提高访问数据的效率为目标,确定是使用表扫描还是使用索引。
统计信息
系统为每一个索引创建一个分布页,统计信息就是指存储在分布页上的某一个表中的一个或者多个索引的关键值的分布信息。当执行查询语句时,为了提高查询速度和性能,系统可以使用这些分布信息来确定使用表的哪一个索引。查询处理器就是依赖于这些分布的统计信息,来生成查询语句的执行规划。执行规划的优化程度依赖于这些分布统计信息的准确步骤的高低程度。如果这些分布的统计信息与索引的物理信息非常一致,那么查询处理器可以生成优化程度很高的执行规划。相反,如果这些统计信息与索引的实际存储的信息相差比较大,那么查询处理器生成的执行规划的优化程度则比较低。
一般地,分布的统计信息与索引的实际存储的信息是比较一致的。但是,当对某一个表有大量的数据操作时,特别是在被索引的列上有大量的数据被增加、修改或者删除,那么索引的实际存储信息就发生了比较大的变化。这时,索引中关键字的分布统计信息就与实际情况有大的差别。因此,为了提高关键字的分布统计信息的准确程度,当表中的数据有比较大的操作变化时,应该针对表中的全部索引或者一个索引执行UPDATE STATISTICS语句,这样系统重新计算关键字的分布统计信息,提高执行规划的优化程度和访问数据的效率。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者