Tsql 高插入率工作台的设计

Tsql 高插入率工作台的设计,tsql,database-design,indexing,Tsql,Database Design,Indexing,我想就如何设计一个每天有1000万到5000万次插入并且需要快速响应选择的表提出一些建议。。。我应该使用索引吗?或者间接费用会太高 编辑:我不担心交易量。。。这实际上是一个任务。。。我需要找出一个表的设计,该表“必须对不基于主键的选择做出很好的响应,因为我知道该表每天都会收到大量的插入”。至少主键、外键,以及报告所需的任何内容,只是不要做得过火。每天插入10k-50k不是问题。如果它像是,我不知道,一百万个插入,那么你可以开始考虑使用单独的表、数据字典等等,但是为了你的需要,我不会担心。当然。至

我想就如何设计一个每天有1000万到5000万次插入并且需要快速响应选择的表提出一些建议。。。我应该使用索引吗?或者间接费用会太高


编辑:我不担心交易量。。。这实际上是一个任务。。。我需要找出一个表的设计,该表“必须对不基于主键的选择做出很好的响应,因为我知道该表每天都会收到大量的插入”

。至少主键、外键,以及报告所需的任何内容,只是不要做得过火。每天插入10k-50k不是问题。如果它像是,我不知道,一百万个插入,那么你可以开始考虑使用单独的表、数据字典等等,但是为了你的需要,我不会担心。

当然。至少主键、外键,以及报告所需的任何内容,只是不要做得过火。每天插入10k-50k不是问题。如果它像是,我不知道,一百万个插入,那么你可以开始考虑使用单独的表、数据字典等等,但为了你的需要,我不会担心。

最好的速率是PK排序与插入顺序相同,没有其他索引。一天一万到五万不是那么多。如果只是插入,那么我看不到任何不好的一面

如果要优化select,请对插入使用行级锁定


度量索引碎片。使用适当的填充因子定期对索引进行碎片整理。填充因子决定了索引片段的速度和碎片整理的频率

最佳速率与插入顺序相同,没有其他索引。一天一万到五万不是那么多。如果只是插入,那么我看不到任何不好的一面

如果要优化select,请对插入使用行级锁定


度量索引碎片。使用适当的填充因子定期对索引进行碎片整理。填充因子决定了索引片段的速度和碎片整理的频率

即使你每天做50000次,每天工作8小时,平均每秒插入的次数仍然不到两次。我想您可能会得到比这高得多的峰值,但一般来说,SQL Server可以处理比您看起来更高的事务速率

如果您的表相当宽(很多列或一些非常长的列),那么您可能需要考虑代理项(标识)列的聚类。您的卷不足以构成表末尾的坏热点。与此相结合,为数据一致性(即FK)和检索(PK、自然键等)所需的任何键使用索引。注意在索引上设置填充因子,并考虑在一个周期性的下行时间窗口中重建它们。


如果你的表相当窄,那么你可以考虑在自然键上进行聚类,但是你必须确保你的响应时间期望能够得到满足。

< P>即使你每天做50000次,而你的一天是8小时工作日,那么平均每秒仍然少于两次插入。我想您可能会得到比这高得多的峰值,但一般来说,SQL Server可以处理比您看起来更高的事务速率

如果您的表相当宽(很多列或一些非常长的列),那么您可能需要考虑代理项(标识)列的聚类。您的卷不足以构成表末尾的坏热点。与此相结合,为数据一致性(即FK)和检索(PK、自然键等)所需的任何键使用索引。注意在索引上设置填充因子,并考虑在一个周期性的下行时间窗口中重建它们。


如果你的表相当窄,那么你可以考虑在自然键上进行聚类,但是你必须确保你的响应时间期望能够满足。

如果这是作业,那么它应该被标记为家庭作业。每天50K不是很多。如果这是家庭作业,那么它应该被标记为家庭作业。每天5万英镑不是很大。