Sql 提高选择和插入的性能
我有一个堆表,其中有一列称为BatchId。我使用SqlbulkCopy(tablock和批量大小为50k)插入它,性能非常好。我通常使用相同的batchId插入一整批大约1m行。我需要在batchId上为“selects”创建一个索引,但我不想影响插入性能。这里推荐的方法是什么(聚集索引/非聚集索引/batchId分区或其他方法),在一次插入过程中,所有行都具有相同的batchId,这有帮助吗?可能的想法包括Sql 提高选择和插入的性能,sql,sql-server,performance,sql-server-2016,sqlbulkcopy,Sql,Sql Server,Performance,Sql Server 2016,Sqlbulkcopy,我有一个堆表,其中有一列称为BatchId。我使用SqlbulkCopy(tablock和批量大小为50k)插入它,性能非常好。我通常使用相同的batchId插入一整批大约1m行。我需要在batchId上为“selects”创建一个索引,但我不想影响插入性能。这里推荐的方法是什么(聚集索引/非聚集索引/batchId分区或其他方法),在一次插入过程中,所有行都具有相同的batchId,这有帮助吗?可能的想法包括 仅在必要时创建合适的索引,并降低散货性能 检查日志文件和数据文件是否提前调整大小,
- 仅在必要时创建合适的索引,并降低散货性能
- 检查日志文件和数据文件是否提前调整大小,以避免文件增长
- 将数据文件拆分为多个物理文件,以利用对单独卷的异步写入
- 根据数据用例对表进行分区
- 实施变更跟踪/CDC,使用内置的可靠方法异步保留快速插入和虹吸数据,使数据可单独查询