久久精品日韩无码|61伊人久久绿帽|最新国产浮力网站|亚州aV无码国产|明星一二三区av|超碰人人在线成人|澳门无码福利av

oracle查看表索引?

時間:2024-11-12 20:07 人氣:0 編輯:招聘街

一、oracle查看表索引?

select * from user_ind_columns where table_name = upper('agent_master') // agent_master為表名

二、oracle索引問題,刪除再重建索引與索引分析?

1.應(yīng)該是可行的,具體會不會節(jié)省時間試一下就可以了。

2.大概每個月存儲四五十萬的數(shù)據(jù),里面只保存最新四個月的數(shù)據(jù) 每次create這7個索引用時都特別長,大概需要三四個小時; 200萬的數(shù)據(jù),重建索引花費(fèi)的時間太長了;很奇怪。

3.估計之前的先drop掉索引,然后插入數(shù)據(jù)完畢后create索引也是為了避免插入數(shù)據(jù)時,索引對插入效率的影響。

三、oracle怎么把索引改成唯一索引?

提供一種直觀的方法:(前提是有索引。

如果沒有索引可以直接新建唯一索引)

1、使用plsql工具連接數(shù)據(jù)庫,輸入表名

2、將光標(biāo)移動到表名上,鼠標(biāo)右鍵選擇編輯(edit)

3、在彈出來的窗口中切換到索引頁簽(index)

4、在類型(type)那一欄選unique,點(diǎn)擊窗口左下角的應(yīng)用(apply)保存即可

四、oracle索引效率哪個最高?

索引。當(dāng)然還是效率更高一些了。

五、oracle查看索引是否約束?

查看約束

select * from user_constraints where table_name='';

六、oracle時間,建立什么索引?

Oracle中我們經(jīng)常使用Date字段類型記錄日期和時間,有的時候還在這個字段上建立索引。

然后通過Java程序訪問數(shù)據(jù)庫的時候,我們很自然的類似這樣使用:select * from table where endDate>? and endDate<?,然后通過PreparedStatement預(yù)編譯,再通過setTimestamp傳入由java.util.Date轉(zhuǎn)成java.sql.Timestamp的參數(shù)(因為java.sql.Date只有日期,java.sql.Time只有時間,所以我們只能用java.sql.Timestamp類型)。我們會認(rèn)為這樣應(yīng)該走索引區(qū)間掃描,效率應(yīng)該是非常高的。

而事實上,Oracle會把sql解釋成如下這樣來執(zhí)行:select * from table where TO_TIMESTAMP(endDate)>? and TO_TIMESTAMP(endDate)<?; 為什么?因為傳入的參數(shù)是timestamp類型,Oracle從9.2版本以后支持這種類型,所以O(shè)racle做了這樣的轉(zhuǎn)換,結(jié)果就是這個SQL執(zhí)行變成了全表掃描。我們做的試驗,加了一個index hint,強(qiáng)制走時間索引字段,結(jié)果效率也不高,sql執(zhí)行變成了全索引掃描,和全表掃描沒多大區(qū)別。結(jié)果效率還是低。

不光直接使用JDBC會是這樣,Spring,iBatis在處理傳入?yún)?shù)是java.util.Date類型的時候,都會使用setTimestamp設(shè)定參數(shù),所以都需要注意。

七、ORACLE的表索引失效?

這種現(xiàn)象多出現(xiàn)在分區(qū)表,之后創(chuàng)建和刪除分區(qū)的時候引起全局索引失效,這個一般的解決方法是重現(xiàn)創(chuàng)建索引,還有一種是把全局索引創(chuàng)建成local的就可以了。這個您可以上網(wǎng)查查全局索引和local索引的區(qū)別。

八、oracle單列索引怎么修改成多列索引?

不能直接修改,只能先drop單列的index.再創(chuàng)建多列的復(fù)合索引。

九、oracle怎么,設(shè)置唯一索引?

有兩種方法: (1)視圖dba_constraints (2)視圖dba_indexes 設(shè)置一個字段,為主鍵,這個主鍵就是不重復(fù)的,主鍵的內(nèi)容可以使用oracle的sequence。

方法一、 視圖dba_constraints,這張表中有所有的表的約束,擁有唯一約束的字段就擁有唯一索引,其中Constraint_type的值應(yīng)該是U,不過值是R的表示主鍵,這個也存在唯一索引,不知道你要不要找這種,所以個人認(rèn)為在這張表內(nèi)能找到。方法二: 視圖dba_indexes,這里的index_type應(yīng)該也能查到唯一索引。

十、oracle多級分區(qū)索引怎么創(chuàng)建?

方法如下:

Oracle中建立索引,會提高查詢速度: create index 索引名 on 表名(列名);

例如:

create index index_userid on tbl_detail(userid);

如何找數(shù)據(jù)庫表的主鍵字段的名稱?

SELECT * FROM user_constraints WHERE CONSTRAINT_TYPE='P' and table_name='AAA'; select * from dba_cons_columns where CONSTRAINT_NAME='SYS_AAA';

Oracle 在創(chuàng)建主鍵(可以不加constraint SYS_AAA),會為庫表自動創(chuàng)建索引,

索引的列為主鍵列。 并且當(dāng)庫表某些列名或者庫表名改變時候,

Oracle自動創(chuàng)建的索引SYS_AAA,中的索引列也會自動更新(類似于視圖),并且SYS_AAA會與名字更改后的庫表還是保持索引關(guān)系。 關(guān)鍵系統(tǒng)庫表: 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

相關(guān)資訊
熱門頻道

Copyright © 2024 招聘街 滇ICP備2024020316號-38