1、DDL 后不需要添加commit;语句,因为Oracle数据库的DDL不支持transaction,执行即commit;

  DDL(Data Definition Language): 数据定义语言,包括以下常见语句:
  创建数据库: CREATE {DATABASE | SCHEMA} db_name;
  删除数据库: DROP [TEMPORARY] TABLE tbl_name [RESTRICT | CASCADE];
  创建表: CREATE [TEMPORARY] TABLE tbl_name;
  修改表: ALTER TABLE tbl_name ADD [COLUMN] column_definition; //or delete | modify | drop a column
  删除表:DROP TABLE tbl_name [RESTRICT | CASCADE];
  创建视图: CREATE VIEW view_name AS select_name;
  修改视图: ALTER VIEW view_name AS select_name;
  删除视图: DROP VIEW view_name [RESTRICT | CASCADE];

2、能精确匹配的时候就不要使用like,尤其是通配符%在前面的;

  eg1. SELECT * FROM student WHERE name LIKE 'xiaoming%' ;
  eg2. SELECT * FROM student WHERE name LIKE '%xiaoming';
  eg3. SELECT * FROM student WHERE name LIKE '%xiaoming%';
  eg4. SELECT * FROM student WHERE name = 'xiaoming';
从上述四个例子来看,如果创建了索引,eg1 和 eg4 是可以直接走索引的,但是eg4精确匹配的性能要优于eg1模糊查询;eg2 和 eg3 都只能进行全表扫描,性能差。

3、如果有SQL语句中含有in语句,且in里面的内容多于1000,则需要将in语句拆成几个in的语句用or连接起来。

  eg. SELECT * FROM student where oid in (1, 2, 3, ... , 2500);
  以上语句需要改成 SELECT * FROM student where oid in (1, 2, 3, ... , 1000) or oid in (1001, 1002, 1003, ... , 2000) or oid in (2001, 2002, 2003, ... , 2500);

4、如果某个字段定义时类型是字符形式,但是内容都是数字,在查找的时候,最好用单引号将数字括起来,因为类型不一致的话会导致数据库进行强制类型转换,从而查询不走索引。

  eg. SELECT * FROM student where no = '15121295';

参考网址:
DDL

oracle DB 使用注意点小结的更多相关文章

  1. Oracle DB 存储增强

    • 设置Automatic Storage Management (ASM)  快速镜像 再同步 • 使用ASM 首选镜像读取 • 了解可伸缩性和性能增强 • 设置ASM 磁盘组属性 • 使用SYSA ...

  2. Oracle DB 使用调度程序自动执行任务

    • 使用调度程序来简化管理任务 • 创建作业.程序和调度 • 监视作业执行 • 使用基于时间或基于事件的调度来执行调度程序作业 • 描述窗口.窗口组.作业类和使用者组的用途 • 使用电子邮件通知 • ...

  3. 在silverlight中通过WCF连接ORACLE DB数据库(转)

    转自 http://hi.baidu.com/qianlihanse/item/458aa7c8d93d4e0cac092ff4 这不是我的原创,我也是上网学习的~ How to get data f ...

  4. goldengate 12c对oracle DB的改进

    1. 现在可使用Oracle Universal Installer,即安装时有图形化界面,同时会自动安装java runtime environment,不过个人认为,还是ZIP安装包方便,解压即用 ...

  5. Oracle DB 管理数据库的空间

    • 描述4 KB 扇区磁盘的概念及使用 • 使用可移动表空间 • 描述可移动表空间的概念 数据库存储 数据库存储 数据库包括物理结构和逻辑结构.由于物理结构和逻辑结构是分开的,因此管理数据的物 理存储 ...

  6. Oracle DB 执行表空间时间点恢复

    • 列出在执行表空间时间点恢复(TSPITR) 时会发生的操作 • 阐释TSPITR 使用的术语的定义 • 确定适合将TSPITR 用作解决方案的情况 • 确定时间点恢复的正确目标时间 • 确定不能使 ...

  7. Oracle DB 备份和恢复的概念

    • 确定Oracle DB 中可能发生的故障类型 • 说明优化实例恢复的方法 • 说明检查点.重做日志文件和归档日志文件的重要性 • 配置快速恢复区 • 配置ARCHIVELOG模式   部分工作内容 ...

  8. 用户与 Oracle DB 交互具体过程

    与 Oracle DB 交互 以下的演示样例从最主要的层面描写叙述 Oracle DB 操作.该演示样例说明了一种 Oracle DB 配置,在该配置中,用户和关联server进程执行于通过网络连接的 ...

  9. 普通用户登录Oracle DB Control

    使用 sys 或者 system 用户登录 Oracle DB Control 是没有问题的. 但是,如果是普通的用户需要登录Oracle DB Control,建表或者视图之类的, 则需要授权 SE ...

随机推荐

  1. JAVA中CLASS.FORNAME的含义

    Class.forName(xxx.xx.xx) 返回的是一个类, .newInstance() 后才创建一个对象 Class.forName(xxx.xx.xx);的作用是要求JVM查找并加载指定的 ...

  2. MySQL8.0数据库基础教程(二)-理解"关系"

    1 SQL 的哲学 形如 Linux 哲学一切都是文件,在 SQL 领域也有这样一条至理名言 一切都是关系 2 关系数据库 所谓关系数据库(Relational database)是创建在关系模型基础 ...

  3. HDU2066dijkstra模板题

    问题描述: 题目描述:Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中    会遇见很多人(白马王 ...

  4. WeChall_Prime Factory (Training, Math)Training: WWW-Robots (HTTP, Training)

    In this little training challenge, you are going to learn about the Robots_exclusion_standard.The ro ...

  5. HDU_4734_数位dp

    http://acm.hdu.edu.cn/showproblem.php?pid=4734 模版题. #include<iostream> #include<cstdio> ...

  6. [信息安全] 05 X.509 公钥证书的格式标准

    X.509是# 公钥证书的格式标准, 广泛用于TLS/SSL安全通信或者其他需要认证的环境中.X.509证书可以由# CA颁发,也可以自签名产生. 1 Overview {#1-overview} X ...

  7. LeetCode#26 | Remove Duplicates from Sorted Array 删除有序数组中的重复元素

    一.题目 Description Given a sorted array, remove the duplicates in-place such that each element appear ...

  8. 【C++】随机数引擎

    rand() 基本:使用随机数时,经常见到的是C标准库提供的函数rand(),这个函数会生成一个0到RAND_MAX之间的一个整形数: 分布:为了得到一个给定范围内的随机数,通常会对生成的随机数取余: ...

  9. landsat8波段叠加(layer stacking)

    许久没更.最近一直在看IDL,忽略了gdal的学习. 今天做了landsat8的辐射定标,需要通过reflectance gains/bias来进行波段运算.由于landsat8 oli未提供一个完整 ...

  10. mysql 支持emoji表情

    在mysql插入emoji表情,出现错误: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x8A' for column ' ...