短版的问题:时间来检索通过一个SQL Server索引的一条记录在一张大桌子
如果你有大量的小行的表,要恢复单个记录从通过可能由两列的索引这个表是这可能是东西,西港岛线是低成本,快速或成本高,速度慢
加长版问题和背景:
我是顾问使用sof tware开发公司,我与他们讨论了我想添加到他们正在构建的应用程序(以及我正在设计的)中的一项功能的性能影响。
目前,我们写出来的日志记录每次有人检索客户端记录。每次检索记录时,我都想把最后一个人的姓名和时间放在客户端页面上。
他们说,这对性能的影响将是高,但根据我的合理,但不是专家说明B树是如何工作的知识,这看起来不正确,即使该表是非常大的。
如果您在客户端记录的GUID和访问日期/时间(降序)上创建索引,那么您应该能够通过索引扫描检索所需的记录,该索引扫描只需要查找第一个输入该GUID然后停止?而且对于b-tree索引,大部分索引都会被缓存,因此所需的物理磁盘访问次数非常少,因此查询时间显着小于1秒。
还是我得到这个完全错误的
你有一个GUID作为关键?那么你可能已经有潜在的性能问题。 – 2012-01-31 21:50:50
@AlbinSunnanbo:我想你的意思是把GUID当成一个集群密钥。 – 2012-01-31 21:58:32
客户和同事总是对表现有奇怪的想法。 – usr 2012-01-31 23:00:39