在最近的一个项目中,“领导”开发人员设计了一个数据库模式,其中“较大”的表将分为两个单独的数据库,并在主数据库上查看将两个单独的数据库表合并在一起的视图。主数据库是应用程序的驱动源,因此这些表看起来和感觉起来都像普通表(除了更新方面的一些奇怪的事情)。这似乎是一个巨大的性能问题。我们确实看到了这些桌子的性能问题,但没有什么能让他改变对他的设计的想法。只是想知道最好的方法是什么,或者是否值得这样做?
我不认为通过在单个服务器中跨多个数据库对表进行分区来真正获得任何好处。您实际上所做的一切首先是通过在单个 SQL Server 实例下拥有“表”的多个实例(即在两个不同的数据库中打开)来增加使用“表”的开销。
您有多大的数据集?我的一个客户在 SQL Server 中有一个 600 万行的表,其中包含 2 年的销售数据。他们在交易和报告中使用它,没有任何明显的速度问题。
当然,调整索引并选择正确的聚集索引对于性能至关重要。
如果您的数据集非常大并且您希望进行分区,那么在物理服务器上对表进行分区会更划算。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)