sql-server – 为什么在填写表之后,SQL Server的工作速度会更快
发布时间:2020-12-12 16:36:55 所属栏目:MsSql教程 来源:网络整理
导读:我有一个sproc,通过查询将750K记录放入临时表中作为其第一个动作之一.如果我在填充之前在临时表上创建索引,与填充表之后的索引相比,该项目运行的时间大约是两倍. (索引是单列中的一个整数,索引的表只是两列,每个单个整数.) 这似乎对我来说有点偏差,但是对于发
我有一个sproc,通过查询将750K记录放入临时表中作为其第一个动作之一.如果我在填充之前在临时表上创建索引,与填充表之后的索引相比,该项目运行的时间大约是两倍. (索引是单列中的一个整数,索引的表只是两列,每个单个整数.)
这似乎对我来说有点偏差,但是对于发生什么事情我并没有最清楚的了解.有人有这个答案吗? 解决方法如果创建聚簇索引,则会影响数据在磁盘上物理上的排序方式.最好在事实之后添加索引,并让数据库引擎在知道数据如何分配时对其进行排序.例如,假设你需要用编号的砖块来建造一个砖墙,这样最高数量的砖头就在墙的底部.如果你只是按照随机的顺序递交砖块,那么这是一个艰巨的任务 – 你不会知道哪些砖块是最高的,你必须将墙壁撕开并重建它一遍又一遍.如果你把所有的砖块排列在你面前,那么这个任务会变得容易得多,可以组织你的工作. 这就是数据库引擎 – 如果你让它知道整个工作,它可以比一次只喂一行更有效率. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |