实时搜索: oracle索引有哪些

oracle索引有哪些

234条评论 1776人喜欢 6324次阅读 253人点赞
在网上就找不到一个入门的例子 都是一些高深的 看不懂的 好多参数根本不懂 也没有解释....找了一个...这样的改了一下
create index abook2_idx on abook2(name)
tablespace user
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
)
他提示我 ORA-02216: 需要表空间名
那个user...

oracle 查看索引是否有效: 非分区索引的话
select index_name,status from user_indexes 查看状态或者 dba_indexes
分区索引的话
查看 user_ind_partitions或者dba_ind_partitions
如果还有二级分区,需要查看
user_ind_subpartitions 或者dba_ind_subpartitions

oracle中怎么创建索引啊,能解释一下里面的参数吗?: create index abook2_idx on abook2(name):是指你创建的索引名是“ abook2_idx ”,该索引是基于并且在abook2表的name列上。
tablespace user :是指你创建的这个索引放在哪个表空间下面。
pctfree 10:是指你创建的索引至少要保留10%作为空闲空间,以便插入与删除。
initrans 2:支持并发操作的初始事务量
maxtrans 255:支持并发操作的最大事务量。
initial 64K:一个区得大小为64K。
minextents 1:是指初始区的个数为1个。区是oracle的最小单位,对应的就是磁盘空间。
maxextents unlimited:这个当然就是最大区的个数无限制。

“他提示我 ORA-02216: 需要表空间名
那个user是我瞎写的...应该写什么啊 还有下面那几个参数能解释一下吗?”
上面的意思是叫你把你创建的索引放在oracle已有的一个表空间中,一般为了保证系统系能,建议你专门创建一个索引表空间,用来存放索引。

oracle如何才能让这样的SQL查询走索引,除了拼SQL还有别的方法吗?: 我们凡人写的sql语句查询 就是这么慢
你可以根据实际用途 修改一下表结构 这样才可以快一些

oracle 物化视图有索引吗,执行计划有吗?: 如果创建一个用主键快速刷新的物化视图,会默认创建一个主键索引,这和表是一样的,否则不会有索引,除非你创建

oracle 数据库 索引有必要定时重建吗: 索引重建时会做两个工作:
1,空间重新分配,
2,统计信息从新收集。
对于空间足够前者可以忽略
对于后者,不仅索引的统计信息需要重新收集,表的统计信息也需要收集。
高版本oracle 会自动收集统计信息。如果执行计划明显异常时,可以手工收集统计信息,采样率高些。正常不用重建索引。

oracle 位图索引的原理: 1、语法
create bitmap index index_name on 表名(字段);
2、举个例子你就能明白了:
如有表 test(id,name,address)
数据
(1,张三,大连)
(2,李四,天津)
(3,王五,北京)
(4,赵六,大连)
....

类似这样的数据,如果查询的时候用到 ,因为数据库中有很多这样的数据,所以一般的索引起不到查询加速的作用,而建立位图索引后会产生如下位图效果:
假设有4条数据(就如上所示)

大连 天津 北京
1 0 0
0 1 0
0 0 1
1 0 0

这样当查询:
select * from 表 where address='大连' or address='北京';
的时候数据库很快就能根据 同行的 1和0 判断出那一条数据符合要求。

什么时候使用组合索引: 在Oracle中可以创建组合索引,即同时包含两个或两个以上列的索引。
在组合索引的使用方面,Oracle有以下特点:

1.当使用基于规则的优化器(RBO)时,只有当组合索引的前导列出现在SQL语句的where子句中时,才会使用到该索引;
2.在使用Oracle9i之前的基于成本的优化器(CBO)时, 只有当组合索引的前导列出现在SQL语句的where子句中时,才可能会使用到该索引,这取决于优化器计算的使用索引的成本和使用全表扫描的成本,Oracle会自动选择成本低的访问路径(请见下面的测试1和测试2);
3.从Oracle9i起,Oracle引入了一种新的索引扫描方式——索引跳跃扫描(index skip scan),这种扫描方式只有基于成本的优化器(CBO)才能使用。这样,当SQL语句的where子句中即使没有组合索引的前导列,并且索引跳跃扫描的成本低于其他扫描方式的成本时,Oracle就会使用该方式扫描组合索引(请见下面的测试3);
4.Oracle优化器有时会做出错误的选择,因为它再“聪明”,也不如我们SQL语句编写人员更清楚表中数据的分布,在这种情况下,通过使用提示(hint),我们可以帮助Oracle优化器作出更好的选择。

创建索引时加online和不加online有什么区别: 一般建立索引会引起锁表,不允许进行数据更新等DML操作;
如果建立索引时指定关键字online,那么只会在表上加一个共享锁,仅不允许变更表的定义。
但可以对数据进行修改。

  • mateuszm是谁

    为什么古代人不吃猪肉,现代人却天天吃: 因为古代人吃熊掌,老虎,奥州大龙虾,这些都是家常便饭,还吃啥猪肉啊。现代人没有选择啊,打个麻雀都小心坐牢。 ...

    623条评论 2053人喜欢 4780次阅读 899人点赞
  • ipad在qq怎样保存图片

    为什么有些人喜欢把消费品变味奢侈品去使用,例如手机,汽车,名牌等等,何苦了?花着会好受吗,明明对自: 主要是因为人们都有虚荣心、攀比心、和唯恐输给别人的担心,一但做得到,花再大的代价也在所不辞。这样当然不好了。 ...

    631条评论 5759人喜欢 6037次阅读 880人点赞
  • excel 怎样设置快捷键

    为什么很多人说个人能力比名牌大学更重要: 该不会是刚参加完高考吧,正在填志愿吗?反过来说,单位招聘员工的时候还是要面试吧,如果名牌大学更重要的话,岂不是不用面试了,只要看专业对口就可以了?名牌大学其实也是体现一个人能力的一个方面,它是判断一个人能力高低的众多...

    252条评论 1956人喜欢 4868次阅读 626人点赞
  • .什么意思

    有一个闺蜜,她之前是很朴实的人,后来被一个有钱人追,她开始喜欢那种奢靡的生活,名牌衣服,每年几次不: 男人有钱得到想要的伴侣,女人有脸得到想要的生活。命好命坏看的不是别人为自己创造的优渥生活,而是靠着自己得到过的美好的能力。不过现在的社会,女孩子,在我个人看来,要么自己有本事点,本事大到可以和社会规则抗衡,要么就安分...

    848条评论 2858人喜欢 5665次阅读 671人点赞
  • psv 买哪个版

    为什么有钱的人喜欢争名夺利呢?: 人和人不一样!有钱就有更多的闲暇?世上有很多比有钱更好的事情!所以才有人争名夺利!要是我有钱了!我想改造我自己去想办法念个名牌大学!变聪明先! ...

    499条评论 2050人喜欢 3758次阅读 294人点赞
  • 12寸照片是多少厘米

    2011-12CBA赛季浙江主场在哪?: iΡk≈Лo铵o铵d悚j ...

    503条评论 1701人喜欢 3234次阅读 388人点赞
  • 1050和760哪个好

    为什么gucci的鞋那么土还卖得贵,配色设计也很奇怪,那些人为了名牌效应穿着不尬吗?: 很多人追求的是品牌,而忽略了美感。也许,不同的人看待美的方式不一样。也许,有的人就觉得奇怪,与众不同就是好的。我们没有办法要求别人,过好自己就好。 ...

    496条评论 1907人喜欢 1003次阅读 382人点赞
  • htc手机短信为什么隐藏

    日本人为什么要在门口放上自己家姓氏的名牌?: 你们去过日本吗?我没去过日本,但是我《蜡笔小新》上看到过日本的街头,日本的房子……我还见到过小新家里的房子门口挂着自己家的姓氏,你们知道日本人为什么会在家门口放上自己姓氏的牌子吗?其实在日本的每一户人家,他们几乎都会...

    419条评论 6088人喜欢 4145次阅读 414人点赞