SQL server语言 - SQL插入的性能取决于表中的行数



我想将系统用户的一些信息记录到一个特殊的统计表中。将有很多插入到这个表中,但是没有读取(不是为用户,只有我将读取)

我会得到一个更好的性能,有两个表,我移动的行到一个表,我可以使用查询,只是为了保持"插入"表尽可能小?

。如果用户行为导致每天20000次插入,则表将快速增长,并且随着插入的行越来越多,我担心插入会变得越来越慢。

如果SQL Server必须更新索引,则insert会变慢。如果您的索引意味着不需要重组,那么即使对于大量数据,插入也不会特别慢。

我不认为你应该过早地以你建议的方式优化,除非你完全确定这是必要的。最有可能的是,您可以采用简单的方法,然后添加一个定期更新的统计表进行查询,如果您不介意这有点过时的话……或者类似的东西。

插入的性能取决于表上是否有索引。你说用户不会从表中读取数据。如果您自己只需要很少查询它,那么您可以完全放弃索引,在这种情况下,插入性能不会改变。

如果您确实需要表上的索引,那么您是对的,性能将开始受到影响。在这种情况下,您应该考虑对表进行分区并执行日志最少的插入。这是通过将新记录插入到与主表具有相同结构但没有索引的新表中来完成的。然后,一旦数据被插入,将其添加到主表就变成了一个元数据操作;您只需将该表重新定义为主表的新分区。

最新更新