gpt4 book ai didi

sql - 索引和插入操作

转载 作者:行者123 更新时间:2023-12-05 01:48:57 24 4
gpt4 key购买 nike

我有一份工作需要处理大约 10 万条记录。此作业截断目标表,然后将所有记录“一次一条”插入这些表中,而不是批量插入。

我需要知道插入这些记录时索引将如何影响?在工作期间创建索引的成本是否会超过使用它们带来的好处?

在这种情况下有什么最佳实践或优化提示吗?

最佳答案

这种问题只能根据具体情况来回答。但是,以下一般注意事项可能会有所帮助:

  • 除非插入的一些数据来自额外的查找等,否则在插入期间没有索引有用(即对于这个操作,索引当然可能对其他 session /用户下的其他查询有用....)
  • [另一方面...] 表中索引的存在减慢了 INSERT(或更普遍的 UPDATE 或 DELETE)操作
  • 添加新记录的顺序可能很重要
  • 如果表是聚集索引,则需要特别考虑
  • 决定是否在 INSERT 操作之前删除索引(全部或部分索引)在很大程度上取决于记录的相对数量(添加还是准备好)
  • INSERT 操作可能经常会引入索引碎片,这本身就是一种额外的动机,可以在数据加载之前删除索引,然后重建索引。

一般来说,添加 100,000 条记录对于 MS-SQL 来说是“小土 bean ”,除非有特殊情况,例如异常宽的记录,或者存在许多(并且可能定义不当)各种性质的约束,SQL Server 应该在大多数硬件配置上,只需几分钟而不是几小时即可处理此负载。

关于sql - 索引和插入操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1732542/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com