查看表索引、主鍵、外鍵、約束

站在用戶的角度思考問題,與客戶深入溝通,找到合水網(wǎng)站設(shè)計與合水網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站制作、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、申請域名、虛擬主機、企業(yè)郵箱。業(yè)務(wù)覆蓋合水地區(qū)。
(包括索引名,類型,構(gòu)成列)
SELECT T.*, I.INDEX_TYPE
FROM USER_IND_COLUMNS T,USER_INDEXES I
WHERE T.INDEX_NAME = I.INDEX_NAME
AND T.TABLE_NAME = I.TABLE_NAME
AND T.TABLE_NAME = 'ORG_DLF' ----指定表
AND T.TABLE_OWNER= 'ODSRPT_SIT2'; ----指定用戶
(包括名稱,構(gòu)成列)
SELECT CU.*
FROM DBA_CONS_COLUMNS CU, DBA_CONSTRAINTS AU
WHERE CU.CONSTRAINT_NAME = AU.CONSTRAINT_NAME
AND AU.CONSTRAINT_TYPE = 'P'
AND AU.TABLE_NAME = 'LOAN_APPLICATION_FEE' -----指定表名
AND CU.OWNER='ODSRPT_SIT2'; -----指定用戶名
(包括表名稱,構(gòu)成列)
SELECT CU.COLUMN_NAME,AU.TABLE_NAME
FROM DBA_CONS_COLUMNS CU, DBA_CONSTRAINTS AU
WHERE CU.CONSTRAINT_NAME = AU.CONSTRAINT_NAME
AND AU.CONSTRAINT_TYPE = 'U'
AND AU.OWNER='RPT_UAT2' -----指定用戶名
AND AU.TABLE_NAME = 表名 ; -----指定表名
Select a.Owner 外鍵擁有者,
a.Table_Name 外鍵表,
c.Column_Name 外鍵列,
b.Owner 主鍵擁有者,
b.Table_Name 主鍵表,
d.Column_Name 主鍵列,
c.Constraint_Name 外鍵名,
d.Constraint_Name 主鍵名
From User_Constraints a,
user_Constraints b,
user_Cons_Columns c, --外鍵表
user_Cons_Columns d --主鍵表
Where a.r_Constraint_Name = b.Constraint_Name
And a.Constraint_Type = 'R'
And b.Constraint_Type = 'P'
And a.r_Owner = b.Owner
And a.Constraint_Name = c.Constraint_Name
And b.Constraint_Name = d.Constraint_Name
And a.Owner = c.Owner
And a.Table_Name = c.Table_Name
And b.Owner = d.Owner
And b.Table_Name = d.Table_Name;
一、查看和建立索引
select * from user_indexes where table_name = 'student'
create index i_student_num on student(num)
二、使用索引的注意點
①類型匹配
若student中num列是varchar類型,語句select * from student where num = 100
該語句被轉(zhuǎn)化為select * from student where to_number(num) = 100,該列的索引就失效了。
②避免索引列參與計算
索引失效:select * from student where num * 10 10000
索引有效:select * from student where num 10000 / 10
③不要對索引列使用IS NULL或IS NOT NULL
原則上對某一個列建立索引的時候,該列就不應(yīng)該允許為空。
索引失效:select * from student where num is null
oracle查看有效索引是這個:
select status,T.* from user_indexes T
where table_name='TABLE1'
最好弄個圖像界面軟件,就能知道,比如:PL/SQL Developer
oracle對于數(shù)據(jù)庫中的表信息,存儲在系統(tǒng)表中。查詢已創(chuàng)建好的表索引,可通過相應(yīng)的sql語句到相應(yīng)的表中進行快捷的查詢:
1. 根據(jù)表名,查詢一張表的索引
select?*?from?user_indexes?where?table_name=upper('表名');
2. 根據(jù)索引號,查詢表索引字段
select?*?from?user_ind_columns?where?index_name=('索引名');
3.根據(jù)索引名,查詢創(chuàng)建索引的語句
select?dbms_metadata.get_ddl('INDEX','索引名',?['用戶名'])?from?dual?;?--['用戶名']可省,默認為登錄用戶
PS:dbms_metadata.get_ddl還可以得到建表語句,如:
SELECT?DBMS_METADATA.GET_DDL('TABLE','表名',?['用戶名'])?FROM?DUAL?;?//取單個表的建表語句,['用戶名']可不輸入,默認為登錄用戶
SELECT?DBMS_METADATA.GET_DDL('TABLE',u.table_name)?FROM?USER_TABLES?u;?//取用戶下所有表的建表語句
當然,也可以用pl/sql developer工具來查看相關(guān)的表的各種信息。
1. 查詢一張表里面索引?
select*from user_indexes where table_name=upper('bills');
2. 查詢被索引字段?
select* from user_ind_columns where index_name=('in_bills') and table_name='表名';
select* from user_ind_columns where table_name='MPI_DEMOGRAPHICINFO';
3. 給某一字段創(chuàng)建索引?
create index in_bills on bills(account_id);
刪除約束語句格式:
alter table 表名 drop CONSTRAINT 主鍵約束 名;
如:
alter table 修課表 drop CONSTRAINT pk_xh_kc;
根據(jù)表名,查詢一張表的索引:
select * from user_indexes where table_name=upper('表名')。
根據(jù)索引號,查詢表索引字段:
select * from user_ind_columns where index_name=('索引名')。
根據(jù)索引名,查詢創(chuàng)建索引的語句:
select dbms_metadata.get_ddl('INDEX','索引名', ['用戶名']) from dual ; --['用戶名']可省,默認為登錄用戶。
Oracle數(shù)據(jù)庫產(chǎn)品為財富排行榜上的前1000家公司所采用,許多大型網(wǎng)站也選用了Oracle系統(tǒng)。
甲骨文股份有限公司(Oracle)是全球大型數(shù)據(jù)庫軟件公司,總部位于美國加州紅木城的紅木岸。在2008年,甲骨文股份有限公司是繼Microsoft及IBM后,全球收入第三多的軟件公司。
分享標題:oracle怎么看索引,oracle怎么看索引是正序還是倒序
瀏覽路徑:http://chinadenli.net/article19/dsededh.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、網(wǎng)站內(nèi)鏈、網(wǎng)站改版、網(wǎng)站設(shè)計、App設(shè)計、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)