我有一个存储过程需要动态创建3个临时表,并将它们连接到包含其他表的大型查询中。
这样做是好的做法吗?
答案 0 :(得分:1)
这实际上取决于,这不是一个好的或坏的做法。如果是关于性能,你实际上并不需要PK,你需要的是一个聚簇索引(在创建PK时默认在SQL Server上创建)。在任何情况下,重要的是如果您正在进行临时表的批量插入,则首先加载表,然后创建索引。如果您创建索引然后插入数据,索引可能会碎片化。
就个人而言,我会使用和不使用索引来监控流程,并选择最佳选项。有时,创建索引比执行表扫描需要更多时间。但是如果表格很大,那么创建索引实际上可能要好得多,然后做你需要做的任何转换。