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. 三、通过 FactoryBean 来配置bean

    一般情况下,Spring 通过反射机制利用 <bean> 的 class 属性指定实现类实例化 Bean ,在某些情况下,实例化 Bean 过程比较复杂,如果按照传统的方式,则需要在 &l ...

  2. 中国天气网API接口

    http://www.weather.com.cn/data/sk/101010100.html http://www.weather.com.cn/data/cityinfo/101010100.h ...

  3. C语言的puts(),gets(),putchar(),getchar()

    其实puts(),gets()属于字符串输入函数. putchar()与getchar()属于字符输入函数. 1.字符函数 #include<stdio.h> int main(){ ch ...

  4. Oracle操作语句--增加/删除

    1.删除1980年雇员的雇员信息: delete  from myemp where     hiredate between to_date('1980-1-1','yyyy-mm-dd') and ...

  5. num11---桥接模式

    比如手机类,有各种类型,比如翻盖.平板等,每一类下又有各个品牌,比如华为,如果新增一个类型,比如折叠屏,或者新增一个手机品牌,苹果,那么会导致 扩展性问题. 这种情况下,应该使用桥接模式. 代码: 创 ...

  6. 通过open上网并设置开机自启与自动连接

    注意:这里所说的上网并不是FQ.只是简单的通过iptables让客户端可以访问外网.因为有些时候有这样的需求 上一篇文章为大家介绍了OpenVPN.以及它的部署工作.而这一篇主要就是讲解如何让客户端可 ...

  7. pycharm template 设置

    ${PROJECT_NAME} - 当前Project名称; (the name of the current project. ) ${NAME} -创建文件的对话框中制定的文件名; (the na ...

  8. chkcongfig 命令

    chkconfig   命令主要用来  更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法:chkconfig ...

  9. python3配置阿里云短信服务

    1.申请阿里云短信服务,具体步骤看我的python2-Django配置短信服务 2.安装依赖 aliyun-python-sdk-core-v3 aliyun-python-sdk-dysmsapi= ...

  10. linux系统中运行node进程,无法杀死进程

    events.js:72 throw er; // Unhandled 'error' event ^Error: listen EADDRINUSE at errnoException (net.j ...