
正文
oracle索引如何生成 oracle索引怎么建
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何为Oracle中的一个字段建立索引?
1、可以把那些null值设置成一个特殊的值,比如"N/A"
2、where nvl(col,0) =0在col字段上创建一个函数索引。create index ind_col ontable(nvl(col,0));
这样就能用索引了。
3、输入代码:CREATE INDEX INDEX_NAME ON TABLE_NAME(COLUMN_NAME)。
4、给一个表里有的可空字段增加一个默认值alter table 表名 add constraint itemname defult(0) for 对应表字段。itemname 为自定义的名称。
5、给表增加字段,aleter table 表名 add itemname int null item name,为字段名
6、更新表字段类型,ALTER TABLE 表名 ALTER COLUMN 字段名,新的类型。
相关问答
Q1: Oracle创建索引SQL简单的例子,在表中的指定字段和如何使用索引呢?
create index index_name on table_name(column_name) ;\x0d\x0a只要你查询使用到建了索引的字段,一般都会用到索引。 \x0d\x0a \x0d\x0a--创建表\x0d\x0acreate table aaa\x0d\x0a(\x0d\x0a a number,\x0d\x0a b number\x0d\x0a);\x0d\x0a--创建索引\x0d\x0acreate index idx_a on aaa (a);\x0d\x0a--使用索引\x0d\x0aselect * from aaa where a=1;\x0d\x0a这句查询就会使用索引 idx_a
Q2: oracle分区表怎么创建索引
方法如下:
Oracle中建立索引,会提高查询速度: create index 索引名 on 表名(列名);
例如:
create index index_userid on tbl_detail(userid);
如何找数据库表的主键字段的名称?
SELECT * FROM user_constraints WHERE CONSTRAINT_TYPE='P' and table_name='AAA'; select * from dba_cons_columns where CONSTRAINT_NAME='SYS_AAA';
Oracle 在创建主键(可以不加constraint SYS_AAA),会为库表自动创建索引,
索引的列为主键列。 并且当库表某些列名或者库表名改变时候,
Oracle自动创建的索引SYS_AAA,中的索引列也会自动更新(类似于视图),并且SYS_AAA会与名字更改后的库表还是保持索引关系。 关键系统库表: desc dba_constraints desc dba_cons_columns
desc dba_indexes desc dba_ind_columns desc DBA_TAB_COLUMNS
例子1:更改库表的列名
ALTER TABLE AAA RENAME COLUMN ID TO AAA_ID; create table AAA ( ID NUMBER(8), NAME CHAR(20),
constraint SYS_AAA primary key(ID) );
//查找约束名字
select c.CONSTRAINT_NAME,c.table_name,cc.COLUMN_NAME from user_constraints c, user_cons_columns cc
where c.constraint_name=cc.constraint_name and c.table_name ='AAA' AND C.CONSTRAINT_TYPE='P';
CONSTRAINT_NAME TABLE_NAME COLUMN_NAME
SYS_AAA AAA ID
//查找索引
select index_name,index_type,uniqueness from user_indexes where table_name='AAA'; INDEX_NAME INDEX_TYPE UNIQUENES
Q3: oracle 数据库如何建立索引 如何用索引?
创建索引语法oracle索引如何生成:
CREATE[UNIQUE]|[BITMAP]INDEXindex_name
--unique表示唯一索引
ONtable_name([column1[ASC|DESC],column2
--bitmaporacle索引如何生成,创建位图索引
[ASC|DESC],?]|[express])[TABLESPACEtablespace_name][PCTFREEn1]
--指定索引在数据块中空闲空间
[STORAGE(INITIALn2)][NOLOGGING]
--表示创建和重建索引时允许对表做DML操作,默认情况下不应该使用
[NOLINE][NOSORT];
--表示创建索引时不进行排序,默认不适用,如果数据已经是按照该索引顺序排列oracle索引如何生成的可以使用
扩展资料:
1、如果有两个或者以上的索引,其中有一个唯一性索引,而其他是非唯一,这种情况下oracle将使用唯一性索引而完全忽略非唯一性索引
2、至少要包含组合索引的第一列(即如果索引建立在多个列上,只有它的第一个列被where子句引用时,优化器才会使用该索引)
3、小表不要简历索引
4、对于基数大的列适合建立B树索引,对于基数小的列适合简历位图索引
5、列中有很多空值,但经常查询该列上非空记录时应该建立索引
6、经常进行连接查询的列应该创建索引
7、使用createindex时要将最常查询的列放在最前面
8、LONG(可变长字符串数据,最长2G)和LONGRAW(可变长二进制数据,最长2G)列不能创建索引
9、限制表中索引的数量(创建索引耗费时间,并且随数据量的增大而增大oracle索引如何生成;索引会占用物理空间oracle索引如何生成;当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度)
oracle索引如何生成的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于oracle索引怎么建、oracle索引如何生成的信息别忘了在本站进行查找喔。






