oracle数据字典、索引、序列
*************************数据字典******************************* 普通的表 是用来存放 应用程序 需要的数据的 student表 是存放学生信息的 category 表 是存放 商品种类信息的
本身服务的.
? --1. 查看当前用户下有哪些表 select TABLE_NAME from user_tables --2. 查看当前用户下有哪些视图 select VIEW_NAME from user_views --3. 查看当前用户下有哪些约束
select * from user_tab_columns where table_name=‘DEPT‘ ? --5.查询到底有哪些数据字典表 --6.查询和用户相关的数据字典表有哪些 ? *********************SQL语句优化最基本的技巧************************ 使用字段名 代替 * 因为如果程序员写 select * from emp oracle执行的时候 会先去查 user_tab_columns这张字典表 把*转换成所有的字段名
? 一.什么是索引 用来提高查询速度的数据库对象
? 二.为什么用索引
有了目录: z 26+3 +5=34 zha zhan zhang 642
order by
? 3. 在5m以下的表 查询返回的结果集在5%左右数据时 使用索引
? 创建索引的语法:
select * from 表名 where 字段1=... and 字段2= ..
insert into category values(1,‘手机‘,‘通讯工具‘) begin ? ************************执行计划(解释计划)*********************************** 1.没有加索引的时候 默认是全表扫描 Table Access Full
Bytes 返回的结果集占用的字节数 Cost 耗费 2(0) 占用cpu的百分比 一般Cost越小表示执行计划越优,执行速度越快,只是一个参考值,不一定 Time SQL语句 预计消耗的时间 ? ************************索引的优缺点*********************************** 优点: 提高查询速度 缺点: 1. 如果在一个表中频繁做 插入或删除操作 使用索引反而会降低 SQL语句的执行速度
? ************************索引的分类*********************************** 第一种分法 1. 唯一性索引 主键和 unique 约束的字段 系统会自动为这些字段创建唯一性索引 2. 非唯一性索引 用户手工创建的索引都属于 非唯一性索引
物理位置上真正排序了 索引顺序和物理顺序是一致的
? ********************************oracle中的索引******************* 1. B树索引 适合高基数字段的查询(字段值重复比较少或没有重复)
是一种特殊的B树索引 select ename,hiredate from emp where hiredate between to_date(‘1981-01-01‘,‘yyyy-mm-dd‘) and to_date(‘1981-12-31‘,‘yyyy-mm-dd‘) order by hiredate desc
select * from emp where lower(ename)=‘smith‘、
? 4. 位图索引
软件工程中没有银弹的概念 10年内没有一种方法或技术 能提高软件产品的生产力提高10倍以上
? ? 一. 什么是序列 oracle 用来产生主键的一种方式
? 二.how 每一张表都应该有一个序列,该序列专门为这张表创建主键
create sequence seq_article; 如何使用 insert into article values(seq_article.nextval,‘标题1‘,‘标题2‘) insert into article values(seq_article.nextval,‘标题2‘,‘标题2‘)
select article.currval from dual;
create sequence seq_article minvalue 0 start with 0 increment by 1 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |