大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
查看表索引、主键、外键、约束
站在用户的角度思考问题,与客户深入沟通,找到合水网站设计与合水网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站制作、成都网站制作、企业官网、英文网站、手机端网站、网站推广、申请域名、虚拟主机、企业邮箱。业务覆盖合水地区。
(包括索引名,类型,构成列)
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'; ----指定用户
(包括名称,构成列)
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'; -----指定用户名
(包括表名称,构成列)
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
该语句被转化为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
原则上对某一个列建立索引的时候,该列就不应该允许为空。
索引失效:select * from student where num is null
oracle查看有效索引是这个:
select status,T.* from user_indexes T
where table_name='TABLE1'
最好弄个图像界面软件,就能知道,比如:PL/SQL Developer
oracle对于数据库中的表信息,存储在系统表中。查询已创建好的表索引,可通过相应的sql语句到相应的表中进行快捷的查询:
1. 根据表名,查询一张表的索引
select * from user_indexes where table_name=upper('表名');
2. 根据索引号,查询表索引字段
select * from user_ind_columns where index_name=('索引名');
3.根据索引名,查询创建索引的语句
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工具来查看相关的表的各种信息。
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. 给某一字段创建索引
create index in_bills on bills(account_id);
删除约束语句格式:
alter table 表名 drop CONSTRAINT 主键约束 名;
如:
alter table 修课表 drop CONSTRAINT pk_xh_kc;
根据表名,查询一张表的索引:
select * from user_indexes where table_name=upper('表名')。
根据索引号,查询表索引字段:
select * from user_ind_columns where index_name=('索引名')。
根据索引名,查询创建索引的语句:
select dbms_metadata.get_ddl('INDEX','索引名', ['用户名']) from dual ; --['用户名']可省,默认为登录用户。
Oracle数据库产品为财富排行榜上的前1000家公司所采用,许多大型网站也选用了Oracle系统。
甲骨文股份有限公司(Oracle)是全球大型数据库软件公司,总部位于美国加州红木城的红木岸。在2008年,甲骨文股份有限公司是继Microsoft及IBM后,全球收入第三多的软件公司。