在一个主要用于查询的表里,是不是索引越多越好?

hztltgg 2009-01-16 09:01:17
一个表,数据导入以后就不是就不变化了。
能不能给这些字段都加上索引,索引的正排序和倒排序要不要分别做一个?这样对查询性能有没有影响?
...全文
547 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
dh2552 2009-01-19
  • 打赏
  • 举报
回复
就好象事情都有两面性,索引给你带来查询方便的同时也会带来更大的开销,
根据实际需要使用的情况而建立,才是正确的选择!
Y_ouliang 2009-01-19
  • 打赏
  • 举报
回复
索引的目的是为了提高查询速度,如果你在建表时,应该有一个默认的索引。
guofanxin1981117 2009-01-18
  • 打赏
  • 举报
回复
guofanxin1981117 2009-01-18
  • 打赏
  • 举报
回复
srgcc 2009-01-16
  • 打赏
  • 举报
回复
yong lai cha xun ke yi duo jia ji ge mei wen ti
dobear_0922 2009-01-16
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 hztltgg 的回复:]
因为是一些导入的代码数据,平时基本上不会修改的,主要是查询,要提供给不同的系统,这些系统用什么字段作为条件不确定,所以考虑全部加上索引,问问加了索引到底有多大影响。
[/Quote]

也没必要在所有字段上加索引,在字段比较短,经常用于查询的字段上加索引就行了。

8、 索引的设计

在设计阶段,可以根据功能和性能的需求进行初步的索引设计,这里需要根据预计的数据量和查询来设计索引,可能与将来实际使用的时候会有所区别。

关于索引的选择,应改主意:

A、 根据数据量决定哪些表需要增加索引,数据量小的可以只有主键。

B、 根据使用频率决定哪些字段需要建立索引,选择经常作为连接条件、筛选条件、聚合查询、排序的字段作为索引的候选字段。

C、 把经常一起出现的字段组合在一起,组成组合索引,组合索引的字段顺序与主键一样,也需要把最常用的字段放在前面,把重复率低的字段放在前面。

D、 一个表不要加太多索引,因为索引影响插入和更新的速度。

cqsxdb 2009-01-16
  • 打赏
  • 举报
回复
不懂,up
noenoughmemory 2009-01-16
  • 打赏
  • 举报
回复
不懂,up
hztltgg 2009-01-16
  • 打赏
  • 举报
回复
因为是一些导入的代码数据,平时基本上不会修改的,主要是查询,要提供给不同的系统,这些系统用什么字段作为条件不确定,所以考虑全部加上索引,问问加了索引到底有多大影响。
Zoezs 2009-01-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 czx33859066 的回复:]
虽然索引可以带来性能上的优势,但是同时也将带来一定的代价。虽然SQL Server系统允许你在每个数据表中创建多达256个nonclustered索引,但是建议不要使用这么多的索引。因为索引需要在内存和物理磁盘驱动器上使用更多的存储空间。在执行插入声明的过程中可能会在一定程度上导致系统性能的下降,因为在插入数据的时候是需要根据索引的顺序插入,而不是在第一个可用的位置直接插入数据,这样一来,存在的索引越多将导致插入或者…
[/Quote]
根据实际情况来建,索引是需要占用空间的。
dobear_0922 2009-01-16
  • 打赏
  • 举报
回复
索引的正排序和倒排序要不要分别做一个?

-----------------
这个没必要,一个就够了,索引相当于双向链表。
dobear_0922 2009-01-16
  • 打赏
  • 举报
回复
如果只用于查询的话,可以多加几个索引,方便查询。
czx33859066 2009-01-16
  • 打赏
  • 举报
回复
虽然索引可以带来性能上的优势,但是同时也将带来一定的代价。虽然SQL Server系统允许你在每个数据表中创建多达256个nonclustered索引,但是建议不要使用这么多的索引。因为索引需要在内存和物理磁盘驱动器上使用更多的存储空间。在执行插入声明的过程中可能会在一定程度上导致系统性能的下降,因为在插入数据的时候是需要根据索引的顺序插入,而不是在第一个可用的位置直接插入数据,这样一来,存在的索引越多将导致插入或者更新声明所需要的时间就越多。
ks_reny 2009-01-16
  • 打赏
  • 举报
回复
索引要根據實際要求建,但不能太多,多了就替不到索引的目的了.
donly0li 2009-01-16
  • 打赏
  • 举报
回复
飘过~~~~~~~~~~~~~~~~~~~~~~

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧