![]() |
1
4
现在插入块的速度与我有聚集标识键的情况相比相对较快,与我没有任何聚集索引时的速度差不多。删除块比使用或不使用聚集索引都要快。
更新 :经过一年的设计经验,我可以说,对于这种方法的工作,有必要安排所有索引的定期重建(我们每周进行一次)。否则,索引很快就会变得支离破碎,性能就会丧失。尽管如此,我们正在迁移到一个新的数据库设计中,使用分区表,这基本上在各个方面都更好—除了企业服务器许可证成本,但我们现在已经忘记了这一点。至少我有。 |
![]() |
2
1
聚集索引是物理索引、物理数据结构和行顺序。如果在聚集索引的中间插入,则数据将物理地插入到当前数据的中间。我认为在这种情况下会出现严重的性能问题。我只从理论上知道这一点,因为如果我在实践中这样做,根据我的理论知识,这将是一个错误。 因此,我只在字段上使用(并建议使用)聚集索引,这些字段总是物理地插入在末尾,保持顺序。 聚集索引可以放在datetime字段上,该字段标记插入时刻或类似的内容,因为从物理上讲,它们将在追加一行之后排序。Identity也是一个很好的聚集索引,但并不总是与查询相关。
你不能试试这个吗,实验?我这里也有类似的情况,我有40亿行,不断有更多的行在插入(高达每秒100行),表没有主键,也没有聚集索引,所以这个主题中的命题对我来说也非常有趣。 |
![]() |
3
1
从未! 想象一下,您需要将另外一百万行放入该表中,并对它们进行物理排序—从长远来看,这是性能上的巨大损失。 当然。顺便说一下,聚集索引不是万能的,可能比普通索引慢。 |
![]() |
4
1
看一看这个
大容量复制在单个操作中将数据流式传输到表中,然后执行一次索引检查。我使用它在数据库表中复制500000行,它的性能比我尝试过的任何其他技术都要好一个数量级,假设您的应用程序可以被构造为使用API? |
![]() |
5
0
我最近一直在玩一些etl的东西。我通过jsut定期插入到表中,然后在插入前后删除和读取索引,尝试merge语句,最后尝试ssis。我被ssis出卖了。就在昨天,我通过让ssis处理插入操作,成功地将etl进程(约2400万条记录,~6gb)从每次运行约1-1个半小时缩短到了约24分钟。 我相信通过高级服务,您应该能够使用ssis。 |
![]() |
6
0
浅学误人。有许多问题需要考虑;它们必须一起考虑。处理任何一个问题并孤立地检查它是管理数据库的一种非常零碎的方式:你将永远发现一些新的真相并改变你以前所想的一切。在开始之前,请阅读以下内容 â¶question/answerâ 上下文。 别忘了,现在任何有键盘和调制解调器的人都可以发表他们的“论文”。他们中的一些人为微软工作,宣扬最新的“增强”;另一些人则发表热情洋溢的报告,指出他们从未在某个上下文中使用过或只使用过一次的功能,但他们发表的报告说,这些功能在每种上下文中都有效。(看看斯彭斯的回答:他很热情,而且“被出卖了”,但在仔细观察之下,这些说法是错误的;他不是坏人,只是微软世界中典型的大众,以及他们是如何运作的;他们是如何发表的。)
聚集索引
是为关系数据库设计的,由真正的工程师(Sybase,在微软获得代码之前)设计的,他们的大脑比所有微软的总和还要多。关系数据库有关系键,而不是
现在,请善待我。在你问我20个问题之前,先读一点,了解一下我在这里定义的所有问题。 |
![]() |
blogger13 · 视频租赁店数据库的规范化 6 月前 |
![]() |
ì¤ì¤í · 为什么LEFT INNER JOIN被弃用? 7 月前 |
![]() |
relatively_random · 确保两个表之间一致的共同参考 7 月前 |
|
Grenish Rai · Firestore错误“用户文档不存在” 10 月前 |
![]() |
Saijo-Shi · PLpgsql中的更新触发器 11 月前 |
![]() |
Dante · Django::配置不当:池不支持持久连接 11 月前 |
![]() |
YouLocalRUser · 删除重复行,保留第一行 1 年前 |