设为首页 收藏本站
查看: 1046|回复: 0

[经验分享] Oracle_071_lesson_p13

[复制链接]

尚未签到

发表于 2018-9-21 09:59:12 | 显示全部楼层 |阅读模式
创建序列、同义词、索引
  create sequence
  CREATE SEQUENCE [ schema. ] sequence
  [ { START WITH|INCREMENT BY } integer
  | { MAXVALUE integer | NOMAXVALUE }
  | { MINVALUE integer | NOMINVALUE }
  | { CYCLE | NOCYCLE }
  | { CACHE integer | NOCACHE }
  | { ORDER | NOORDER }
  ];
  CREATE SEQUENCE dept_deptid_seq
  START WITH 280
  INCREMENT BY 10
  MAXVALUE 9999
  NOCACHE
  NOCYCLE;
  INSERT INTO departments(department_id,
  department_name, location_id)
  VALUES      (dept_deptid_seq.NEXTVAL,
  'Support', 2500);
  SELECT  dept_deptid_seq.CURRVAL
  FROM    dual;
  NEXTVAL 下一个值,   CURRVAL 当前值
  第一次先执行NEXTVAL,才能对CURRVAL取值。
  select detpno.currval from dual;
  取值只跟当前会话有关。
  示例:
  CREATE SEQUENCE s1 START WITH 1;
  CREATE TABLE emp (a1 NUMBER DEFAULT s1.NEXTVAL NOT NULL, a2 VARCHAR2(10));
  INSERT INTO emp (a2) VALUES (‘john');
  INSERT INTO emp (a2) VALUES (‘mark');
  SELECT * FROM emp;
  Caching sequence values in memory gives faster access to those values.
  Gaps in sequence values can occur when(序列不连续有以下3种情况):
  1、A rollback occurs
  2、The system crashes  如:中断oracle , ps -ef |grep smon  ->   kill -9 进程号   。 shutdown  immediate 关闭数据库
  3、A sequence is used in another table
  修改序列>
  ALTER SEQUENCE dept_deptid_seq
  INCREMENT BY 20
  MAXVALUE 999999
  NOCACHE
  NOCYCLE;
  DROP SEQUENCE dept_deptid_seq;
  start  with  起始值不能改
  循环到最大值时,起始值再从1开始
  要想改起始值,只能删除序列重建
  DESCRIBE user_sequences
  SELECT  sequence_name, min_value, max_value,
  increment_by, last_number
  FROM    user_sequences;
  查看序列信息: select  *  from  user_sequences;
  监控last_number和最大值的差距,差距越小越要注意 ,特别是有序列作为外键时,很重要。
synonyms  同义词
  创建同义词
  CREATE [PUBLIC] SYNONYM synonym
  FOR    object;
  DESCRIBE user_synonyms;
  SELECT *
  FROM   user_synonyms;
  示例:
  create  synonym  test  for  v$SESSION;
  只有别名不会分配存储单元,默认为私有。
  加public  则是全局公有。
  示例:
  create  public  synonym  test2  for  emp;
  create  departments  for hr.department ;
  truncate  table  emp;  删除表的行内容,表结构还存在。
  drop  synony  emp;  删除同义词。
创建索引  create  index
  1、是用户对象
  2、提高数据库性能
  3、减少I/O
  4、依赖于表
  5、增删改表的时候,系统自动更新索引
  自动会创建索引,在主键和唯一键时
  Automatically: A unique index is created automatically when you define a PRIMARY KEY or UNIQUE constraint in a table definition.
  手动建索引
  Manually: You can create unique or nonunique index on columns to speed up access to the rows.
  create  index  emp_last_name_idx
  on  table (column1,column2.......);
  DROP INDEX index;
  drop  index  emp_last_name_idx;
  alter  index emp_last_name_idx  invisible ;  索引不可见;
  alter  index  emp_last_name_idx  visible;  索引可见;
  CREATE TABLE   NEW_EMP
  (employee_id NUMBER(6)   PRIMARY KEY USING INDEX
  (CREATE INDEX emp_id_idx   ON    NEW_EMP(employee_id)),
  first_name  VARCHAR2(20),
  last_name   VARCHAR2(25));
  SELECT INDEX_NAME, TABLE_NAME
  FROM   USER_INDEXES
  WHERE  TABLE_NAME = 'NEW_EMP';
  CREATE INDEX emp_id_name_ix1
  ON employees(employee_id, first_name);
  ALTER INDEX emp_id_name_ix1 INVISIBLE;
  CREATE BITMAP INDEX emp_id_name_ix2
  ON employees(employee_id, first_name);
  DESCRIBE user_indexes;
  DESCRIBE user_ind_columns;
  SELECT index_name, column_name,table_name  FROM   user_ind_columns  WHERE  index_name = 'LNAME_IDX';


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-599265-1-1.html 上篇帖子: Oracle_071_lesson_p12 下篇帖子: oracle11g导入导出
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表