ITPUB论坛-中国最专业的IT技术社区

 找回密码
 注册
查看: 276|回复: 9

关于索引的空间的问题

[复制链接]
论坛徽章:
0
发表于 2017-5-18 14:41 | 显示全部楼层 |阅读模式
最近,测试库,用真实环境后,那个1亿条数据的表,我要重新建立索引,
其中四个字段,A varchar(100),B number(20,8),C number(20,8),D varchar(50)
实际中,A 最长15个字母,D最长7个字母。

原始问题:这1亿条记录,建立索引的文件大小会是多大?

隐含问题:1、varchar是否按照最大值来?
2、number类型的存储空间怎么算,20,8 是20个有效数字 ,10^20 < 2^4^20 = 2 ^ 80 是否 80bit ,80/8 = 10 个字节?

对于隐含问题1,我自己的理解:
1、可能,跟普通存储一样,varchar按照实际空间来,不考虑最大空间;
2、可能,引导列与非引导列不一样,引导的,在btree上存储,所以要补齐,而其他的只是普通存储,不需要补齐;
3、位了提高索引速度,空间换时间,全部都是最大值。

我猜想,第二个的可能性比较高,高人给指点一下?

论坛徽章:
393
雪佛兰
日期:2013-12-04 20:30:02马上有钱
日期:2014-03-11 11:59:122014年世界杯参赛球队:喀麦隆
日期:2014-07-11 12:10:53马上有对象
日期:2014-04-09 16:19:542014年世界杯参赛球队: 洪都拉斯
日期:2014-06-25 08:25:55itpub13周年纪念徽章
日期:2014-09-28 10:55:55itpub13周年纪念徽章
日期:2014-10-01 15:27:22itpub13周年纪念徽章
日期:2014-10-09 12:04:18马上有钱
日期:2014-10-14 21:37:37马上有钱
日期:2015-01-22 00:39:13
发表于 2017-5-18 15:18 | 显示全部楼层
做个试验吧,把1亿换成100万

使用道具 举报

回复
论坛徽章:
393
雪佛兰
日期:2013-12-04 20:30:02马上有钱
日期:2014-03-11 11:59:122014年世界杯参赛球队:喀麦隆
日期:2014-07-11 12:10:53马上有对象
日期:2014-04-09 16:19:542014年世界杯参赛球队: 洪都拉斯
日期:2014-06-25 08:25:55itpub13周年纪念徽章
日期:2014-09-28 10:55:55itpub13周年纪念徽章
日期:2014-10-01 15:27:22itpub13周年纪念徽章
日期:2014-10-09 12:04:18马上有钱
日期:2014-10-14 21:37:37马上有钱
日期:2015-01-22 00:39:13
发表于 2017-5-18 15:19 | 显示全部楼层
select dump(123) from dual

使用道具 举报

回复
论坛徽章:
0
 楼主| 发表于 2017-5-18 15:49 | 显示全部楼层
〇〇 发表于 2017-5-18 15:19
select dump(123) from dual

哦,我测试了一下,跟我算得体积大小差不多, 如果是 满的数字,确实10个字节,
但是,这如何推断索引里的大小?
100万的数据好整,索引空间,我不会查啊,我不知道怎么知道某一个索引占用的空间

使用道具 举报

回复
论坛徽章:
0
 楼主| 发表于 2017-5-18 16:19 | 显示全部楼层
这个索引,死活建立不上了,dba从生产库备份下来,找了个第二测试库(只有4G内存单核的服务器)我建立这个索引,用了20分钟,结果我嫌服务器太慢了,要用台式机,
他找了个台式机,I7,32G 内存的,结果几个小时都建立不起来,
是服务器问题,还是其它问题?

使用道具 举报

回复
论坛徽章:
393
雪佛兰
日期:2013-12-04 20:30:02马上有钱
日期:2014-03-11 11:59:122014年世界杯参赛球队:喀麦隆
日期:2014-07-11 12:10:53马上有对象
日期:2014-04-09 16:19:542014年世界杯参赛球队: 洪都拉斯
日期:2014-06-25 08:25:55itpub13周年纪念徽章
日期:2014-09-28 10:55:55itpub13周年纪念徽章
日期:2014-10-01 15:27:22itpub13周年纪念徽章
日期:2014-10-09 12:04:18马上有钱
日期:2014-10-14 21:37:37马上有钱
日期:2015-01-22 00:39:13
发表于 2017-5-18 19:59 | 显示全部楼层
coollangzi 发表于 2017-5-18 16:19
这个索引,死活建立不上了,dba从生产库备份下来,找了个第二测试库(只有4G内存单核的服务器)我建立这个 ...

并行建

使用道具 举报

回复
论坛徽章:
393
雪佛兰
日期:2013-12-04 20:30:02马上有钱
日期:2014-03-11 11:59:122014年世界杯参赛球队:喀麦隆
日期:2014-07-11 12:10:53马上有对象
日期:2014-04-09 16:19:542014年世界杯参赛球队: 洪都拉斯
日期:2014-06-25 08:25:55itpub13周年纪念徽章
日期:2014-09-28 10:55:55itpub13周年纪念徽章
日期:2014-10-01 15:27:22itpub13周年纪念徽章
日期:2014-10-09 12:04:18马上有钱
日期:2014-10-14 21:37:37马上有钱
日期:2015-01-22 00:39:13
发表于 2017-5-18 20:02 | 显示全部楼层
coollangzi 发表于 2017-5-18 15:49
哦,我测试了一下,跟我算得体积大小差不多, 如果是 满的数字,确实10个字节,
但是,这如何推断索引里 ...

SQL> create table t as select * from all_objects;

表已创建。

已用时间:  00: 00: 02.48
SQL> select sum(bytes) from user_segments where segment_name='T';

SUM(BYTES)
----------
   2097152

已用时间:  00: 00: 00.12

SQL> create index idx_t_o on t(object_id);

索引已创建。

已用时间:  00: 00: 00.23
SQL> select sum(bytes) from user_segments where segment_name='IDX_T_O';

SUM(BYTES)
----------
    393216

已用时间:  00: 00: 00.04

使用道具 举报

回复
论坛徽章:
0
 楼主| 发表于 2017-5-19 08:35 | 显示全部楼层
本帖最后由 coollangzi 于 2017-5-19 08:41 编辑
〇〇 发表于 2017-5-18 20:02
SQL> create table t as select * from all_objects;

表已创建。

哈哈,确实学了很多啊! 这个脚本运行了,表示10.4个G,单表,无分区。
索引始终建立不起来,在5000万的那个库上,索引为0.48个G,如果1亿条记录,预计1个G

谢谢

使用道具 举报

回复
论坛徽章:
393
雪佛兰
日期:2013-12-04 20:30:02马上有钱
日期:2014-03-11 11:59:122014年世界杯参赛球队:喀麦隆
日期:2014-07-11 12:10:53马上有对象
日期:2014-04-09 16:19:542014年世界杯参赛球队: 洪都拉斯
日期:2014-06-25 08:25:55itpub13周年纪念徽章
日期:2014-09-28 10:55:55itpub13周年纪念徽章
日期:2014-10-01 15:27:22itpub13周年纪念徽章
日期:2014-10-09 12:04:18马上有钱
日期:2014-10-14 21:37:37马上有钱
日期:2015-01-22 00:39:13
发表于 2017-5-19 09:28 | 显示全部楼层
coollangzi 发表于 2017-5-19 08:35
哈哈,确实学了很多啊! 这个脚本运行了,表示10.4个G,单表,无分区。
索引始终建立不起来,在5000 ...

那就分成2个区

使用道具 举报

回复
论坛徽章:
0
 楼主| 发表于 2017-5-19 09:37 | 显示全部楼层

我看错了, 测试库3000万记录,不是5000万,
建立索引150秒

我猜想,如果正式服务器,性能肯定比测试的好,1亿条,应该不用300秒,如果用online应该没有任何问题。

只是这个临时服务器用的是台式机,估计硬盘有问题,谢谢了,哥们

使用道具 举报

回复

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

本版积分规则

TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 虎吧 老博客 知识索引树 读书频道 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛 | SAP ERP系统
CopyRight 1999-2011 itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表