表上有6个索引,但是列last_read没有涉及或包含在其中任何一个索引中。PK在book_id上,没有什么特别之处。估计的执行计划告诉我:Clustered Index Update (on the PK constraint): 100%
我不希望查询更新任何索引,因为last_read没有以任何方式被索引
这里有一个前提:create table TableA(
id int, <-- this is a unique ID in TableA but not in TableB接口每小时返回TableA中每个ID的新数据,接口响应使用每个唯一ID的最新数据更新TableA。所有响应都会保存到TableB中,以便随着时间的推移进行数据分析(即每小时向TableB添加100,000行)。但是,并非所有数据都会每小时更改一次。事实上,大多数数据根本不会改变。
对于不同的作业运行用户,每天有超过200000个作业实例在运行.我们在数据库表中维护在过去6个月中执行的所有作业的状态。Microsoft sql server 2008中使用的数据库服务器。随着表中作业或记录数量的增加,更新表中记录所需的时间也比以前慢。
我们希望重新设计我们的表和模式,以便在实时场景中更新作业状态,而不会造成作业执行的任何延迟。我们正在考虑为每个用户将这个单表分割成多个表,以便更新一个用户作业状态不应导致更