首页
技术基础
备份恢复
SQL优化
诊断案例
BLOG
留言板
服务
生活
网摘
阅读
下载
墨天轮
English
eygle.com - 留言簿 - 回复留言 - Powered by eYgLe.Com
返回留言簿
回 复 留 言
留言ID:
留言原文:
To
:
eygle
google上搜到这里来的^_^
工作中碰到一个问题,想请教一下。
项目正在做性能测试。业务中需要查询ORACLE中的一个表,这个表中有大约600万条数据。表的主键由7个字段组成,测试下来,整个业务走下来大概要40分钟,后来我们进行调整,看到原先ORACLE自动将主键做成 UNIQUE INDEX,我们在次基础上,对相同的字段,即主健字段做了普通索引,再测试,时间顿时减为31秒。
由于中间相差过分悬殊,而我又想不通为什么多了一个UNIQUE 就会相差那么多?
如果能让我解惑就太好了^_^
From
:
vienna
2005.01.20 00:04
管理密码:
请输入管理密码, 否则无法回复.
斑竹昵称:
信息图标: ( 随机 )
BB 代码:
字体
宋体
黑体
隶书
楷体
幼圆
Arial
颜色
天蓝
品蓝
蓝色
深蓝
橙色
橙红
深红
红色
砖红
暗红
绿色
灰绿
海绿
粉红
果红
桃红
紫色
紫蓝
棕木
沙褐
土黄
深褐
土绿
灰色
大小
1号
2号
3号
4号
5号
内容:
如果想删除回复, 请点击最下面的删除回复按钮.
Oracle会为主键自动创建唯一索引及非空约束 而普通B*tree索引允许存在空值(但是不能索引空值),而且不进行唯一性校验,所以两者在性能上存在差异。 当然差异巨大,具体还要看你的测试逻辑。 你可以观察v$session_wait,v$system_event等视图,确定Oracle把时间消耗在什么上面。 -eygle
删 除 回 复
管理密码:
请输入管理员密码, 只有版主才能删除回复.
Copyright © 2003~2012
eygle.com
All Rights Reserved.
Powered by:
www.eygle.com