回答

收藏

SQL Server什么是理想的索引策略?

技术问答 技术问答 239 人阅读 | 0 人回复 | 2023-09-14

我和一个朋友正在使用它SQL Server新项目。在我过去完成的项目中,SQL总是把索引放在身上JOIN或WHERE使用的任何字段。
" r5 e$ \* M* z" x我的朋友只在需要表演的时候添加它们。这个想法是维护索引需要付出一定的代价,你想确保它值得付出。可以公平地说,有些查询不会经常使用,有些手表会比其他手表更积极地添加到手表中。: g8 f3 l/ C7 i4 _5 _/ O* @
因此,我正在寻找关于数据库索引的最佳实践的建议。什么对你有效?' o- z# `4 v+ W
                                                                " ~/ z0 J* o$ K
    解决方案:                                                               
. r8 }' X0 j9 h: ]4 D. Z: J: R                                                                个人倾向于使用 主动方法
1 C: V% F3 w* X5 s9 b:根据您的查询,在需要的地方添加索引。正如你所说,在JOIN或WHERE所涉及的字段。每个索引都会加快读取查询速度,但会减慢写入速度(因为每次写入都需要更新索引)。因此,可能需要其他解决方案(数据仓库,复制…)。
, D& c: V. E( a) e5 [$ ?另一种方法是在性能需要的地方添加索引,只有当你主动监控时才有效,但即便如此,它也有 一些缺点    :
! W- e8 }; J# E/ ^( K您必须将索引添加到性能问题表中。当添加索引时,您的表被锁定-这是一种高利用率的表!$ M2 q" s) u- s; m! _
通常,测试数据比应用程序中的实际数据少几个数量级。瓶颈有被忽视的风险。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则