佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1409|回复: 12

Index size对database performance的影响

[复制链接]
发表于 1-12-2006 05:24 PM | 显示全部楼层 |阅读模式
有问题想请教各位高手。。

1. index size是怎样判断的??
2. index size 对DB的performance会有什么影响吗??

希望各位能帮帮忙。。
回复

使用道具 举报


ADVERTISEMENT

发表于 2-12-2006 09:56 AM | 显示全部楼层

回复 #1 max^^ 的帖子

在 performance tuning 的问提来说, 当然小的索引宽度(total width of the
indexed columns)会有较好的执行成绩.

但也不能因此将composite indexes 拆成一个一个单独的索引.
因为同一个table在同一时后,只有一个索引被引用.

最重要的是明白developer 如何用columns 在 where clause 里, 才来决定那一个索引才是最适宜的.

你可以看看以下的文章:

General Index Design Guidelines
http://msdn2.microsoft.com/en-US/library/ms191195.aspx

Index Design Basics
http://msdn2.microsoft.com/en-US/library/ms179560.aspx

你也可以在 SQL Server 2005 Books Online 找到以上的文章.

p/s: 我不是高手
回复

使用道具 举报

发表于 2-12-2006 11:46 AM | 显示全部楼层
原帖由 max^^ 于 1-12-2006 05:24 PM 发表
有问题想请教各位高手。。

1. index size是怎样判断的??
2. index size 对DB的performance会有什么影响吗??

希望各位能帮帮忙。。


max5007的分身?
回复

使用道具 举报

发表于 3-12-2006 12:47 AM | 显示全部楼层
原帖由 程家伟 于 2-12-2006 11:46 AM 发表
max5007的分身?


看到有max字就认定是我的分身?这未免对max^^本人不尊重啊。
而且我也没这么无聊去搞分身
回复

使用道具 举报

 楼主| 发表于 3-12-2006 09:16 PM | 显示全部楼层
原帖由 程家伟 于 2-12-2006 11:46 AM 发表


max5007的分身?


max5007有必要在这里用分身??
回复

使用道具 举报

发表于 3-12-2006 09:39 PM | 显示全部楼层

回复 #5 max^^ 的帖子

我倒是觉得他本人就是马甲
回复

使用道具 举报

Follow Us
 楼主| 发表于 4-12-2006 09:27 AM | 显示全部楼层
原帖由 悠哉亭 于 2-12-2006 09:56 AM 发表
在 performance tuning 的问提来说, 当然小的索引宽度(total width of the
indexed columns)会有较好的执行成绩.

但也不能因此将composite indexes 拆成一个一个单独的索引.
因为同一个table在同一时后,只有 ...


照这么说,index size是以number of column来算的吗??还是随着data的增加而增加??

但可以肯定的是index size 越大就越慢对吗??

谢了



p/s: 不管高手低手,能帮到忙的就是好手

[ 本帖最后由 max^^ 于 4-12-2006 09:32 AM 编辑 ]
回复

使用道具 举报

发表于 4-12-2006 10:41 AM | 显示全部楼层
原帖由 代码物语 于 3-12-2006 09:39 PM 发表
我倒是觉得他本人就是马甲

请问什么是马甲?
上网找到马甲的资料。http://www.quanyo.com/user/wangyu/2006613111514.shtml
原帖由 max^^ 于 4-12-2006 09:27 AM 发表
照这么说,index size是以number of column来算的吗??还是随着data的增加而增加??
但可以肯定的是index size 越大就越慢对吗??
谢了
p/s: 不管高手低手,能帮到忙的就是好手 ...


我通常使用INT来做indexing的,如果你拿varchar和 int来做indexing的比较,你会发现int会比较快.

[ 本帖最后由 max5007 于 4-12-2006 10:52 AM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 4-12-2006 11:53 AM | 显示全部楼层
原帖由 max5007 于 4-12-2006 10:41 AM 发表

请问什么是马甲?
上网找到马甲的资料。http://www.quanyo.com/user/wangyu/2006613111514.shtml

好详细。。。

我通常使用INT来做indexing的,如果你拿varchar和 int来做indexing的比较,你会发现int会比较快.


理论上是对。。
但实际上application很少用int来做search criteria,varchar相对的比较多。。
所以index在常用的search criteria才能有效改善db performance(不对请指正)

不过,我比较有兴趣的还是index size这个topic。。

[ 本帖最后由 max^^ 于 4-12-2006 11:55 AM 编辑 ]
回复

使用道具 举报

发表于 4-12-2006 12:42 PM | 显示全部楼层
原帖由 max^^ 于 4-12-2006 11:53 AM 发表

好详细。。。



理论上是对。。
但实际上application很少用int来做search criteria,varchar相对的比较多。。
所以index在常用的search criteria才能有效改善db performance(不对请指正)

不过,我比 ...



对不起了,max^^搂主

请原谅我的。。。

你大人不计小孩子过

ps: 也对不起max5007大大
回复

使用道具 举报

发表于 4-12-2006 03:38 PM | 显示全部楼层
原帖由 max^^ 于 4-12-2006 09:27 AM 发表


照这么说,index size是以number of column来算的吗??还是随着data的增加而增加??

但可以肯定的是index size 越大就越慢对吗??
...


呵呵, 误解你的问题. (脑袋还在睡觉 )

以下是不同的问题:-
1. total width of the indexed columns.
2. size of index (index tree/table).

如果你有进行数据库维护, 确保 index tree 是平衡的与引用最适宜索引, 至于data 越来越大所影响的searching问题并不大.

制造許多索引,以及data 越来越大时当然会影响 insert, update and delete 的performance.
回复

使用道具 举报

发表于 4-12-2006 07:53 PM | 显示全部楼层

回复 #8 max5007 的帖子

是的,就是那个意思。
一般马甲就喜欢说某某是某某的分身,造谣挑拨嘛……
就讨厌此等人,也讨厌马甲:@

还有谢谢你的解释,也谢谢楼主的帖,又学了不少。
还有悠哉亭给的资料也很管用。
回复

使用道具 举报

 楼主| 发表于 5-12-2006 12:19 AM | 显示全部楼层
原帖由 悠哉亭 于 4-12-2006 03:38 PM 发表


呵呵, 误解你的问题. (脑袋还在睡觉 )

以下是不同的问题:-
1. total width of the indexed columns.
2. size of index (index tree/table).

如果你有进行数据库维护, 确保 index tree 是平衡的与引 ...


大概捉到了。。谢谢大家的帮忙
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 14-11-2024 04:27 AM , Processed in 0.241993 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表