我一直在我们的 MS SQL 数据库上运行一个自动索引工具(我修改了一个源自 Microsoft 的脚本,该脚本查看索引统计表 -自动自动索引)。从统计数据中,我现在有一个需要创建的索引的建议列表。
编辑: 上述索引从 DMV 获取信息,这些信息告诉您数据库引擎将用于索引的内容(如果它们可用),并且脚本采用 Top x 推荐(通过搜索、用户影响等)并将它们放在表中。
(上面的编辑部分摘自 Larry Coleman 的回答,以阐明脚本在做什么)
由于我是数据库管理员的新手,并且在网上进行了快速搜索,因此我不愿意冒险并盲目添加推荐的索引。但是,由于没有在该领域的经验,我正在寻找一些关于如何确定这些建议是否必要的建议。
我是否需要运行 SQL Profiler,还是检查查询表的代码更好?你还有什么建议吗?
我正在使用 SQL 服务器,创建我们数据库的人在我们最大的表上添加了很多索引。这些索引每个只包含一个字段。
对我来说,这些索引似乎几乎没有用,这是一个坏主意。
我担心的是删除部分或全部这些索引并影响我们实时系统的性能。无法在我们的测试系统上对此进行测试,因为我们的测试系统没有相同的负载或数据量。
就是想...
可能的重复:
索引如何影响查询性能?
如何知道何时/是否有太多索引?
现在有 4 个索引,这个表有大量的记录。
我将缩短我的问题。(SQL-Server 2008)
在创建新表时,为每一列创建索引是个好主意吗?
我为什么要说这个?
今天我正在创建一个数据库,我的老板在我身后,他说:
“哦,为每一列创建一个索引很好”(然后他向我展示了这样做的图形方式)。
我现在正在研究索引,我不确定这是否是个好主意,因为每次表上有插入\更新时,每个索引都会更新。
一些建议?