怎样计算索引所用的表空间?

tiangou 2002-04-17 09:33:07
比如,数据量为400万条,每条记录有40列,char,varchar2,date,number四种类型各10列,计算:
1) 给两个char,两个varchar2,两个date,两个number类型的列8个字段建联合索引,索引的表空间有多大?
2) 给一个varchar2字段建索引,所用的表空间为多大?
请高手帮忙,谢谢!
...全文
29 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
thingsfly 2002-04-17
  • 打赏
  • 举报
回复
SELECT SUM(BYTES) FROM USER_SEGMENTS WHERE SEGMENT_TYPE='INDEX';
就可以计算出当前用户索引所占的表空间大小!!
mycode 2002-04-17
  • 打赏
  • 举报
回复
估计着建吧.
我一般取1/10至1/4的数据大小,作为索引的大小.
KingSunSha 2002-04-17
  • 打赏
  • 举报
回复
你还要哪方面的解释?
tiangou 2002-04-17
  • 打赏
  • 举报
回复
谢谢楼上三位,可这些我也知道,
有没有更详细的解释呢?谢了
KingSunSha 2002-04-17
  • 打赏
  • 举报
回复
1、先估算每行索引的大小,char、date都是固定长度的,而varchar2就要根据采样数据进行估算了。不可能完全准确,但采样数据越多则越接近
2、计算每行索引占用的数据块 = 每行索引的字节数 / DB_BLOCK_SIZE,取整
3、整个索引占用的数据块 = 每行占用的数据块 * 行数

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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