oracle DB 使用注意点小结
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 使用注意点小结的更多相关文章
- Oracle DB 存储增强
• 设置Automatic Storage Management (ASM) 快速镜像 再同步 • 使用ASM 首选镜像读取 • 了解可伸缩性和性能增强 • 设置ASM 磁盘组属性 • 使用SYSA ...
- Oracle DB 使用调度程序自动执行任务
• 使用调度程序来简化管理任务 • 创建作业.程序和调度 • 监视作业执行 • 使用基于时间或基于事件的调度来执行调度程序作业 • 描述窗口.窗口组.作业类和使用者组的用途 • 使用电子邮件通知 • ...
- 在silverlight中通过WCF连接ORACLE DB数据库(转)
转自 http://hi.baidu.com/qianlihanse/item/458aa7c8d93d4e0cac092ff4 这不是我的原创,我也是上网学习的~ How to get data f ...
- goldengate 12c对oracle DB的改进
1. 现在可使用Oracle Universal Installer,即安装时有图形化界面,同时会自动安装java runtime environment,不过个人认为,还是ZIP安装包方便,解压即用 ...
- Oracle DB 管理数据库的空间
• 描述4 KB 扇区磁盘的概念及使用 • 使用可移动表空间 • 描述可移动表空间的概念 数据库存储 数据库存储 数据库包括物理结构和逻辑结构.由于物理结构和逻辑结构是分开的,因此管理数据的物 理存储 ...
- Oracle DB 执行表空间时间点恢复
• 列出在执行表空间时间点恢复(TSPITR) 时会发生的操作 • 阐释TSPITR 使用的术语的定义 • 确定适合将TSPITR 用作解决方案的情况 • 确定时间点恢复的正确目标时间 • 确定不能使 ...
- Oracle DB 备份和恢复的概念
• 确定Oracle DB 中可能发生的故障类型 • 说明优化实例恢复的方法 • 说明检查点.重做日志文件和归档日志文件的重要性 • 配置快速恢复区 • 配置ARCHIVELOG模式 部分工作内容 ...
- 用户与 Oracle DB 交互具体过程
与 Oracle DB 交互 以下的演示样例从最主要的层面描写叙述 Oracle DB 操作.该演示样例说明了一种 Oracle DB 配置,在该配置中,用户和关联server进程执行于通过网络连接的 ...
- 普通用户登录Oracle DB Control
使用 sys 或者 system 用户登录 Oracle DB Control 是没有问题的. 但是,如果是普通的用户需要登录Oracle DB Control,建表或者视图之类的, 则需要授权 SE ...
随机推荐
- JAVA byte数组转化为16进制字符串输出
最简单的方法: 利用javax.xml.bind包下的DatatypeConverter printHexBinary public static java.lang.String printHexB ...
- num10---适配器模式
1.类适配器 Adapter类,通过继承 被适配的类,实现目标类的接口,完成适配. 分析: java 单继承,所以适配器类 需要继承 被适配类,这就要求目标类必须是接口,有一定局限性. 被适配类的方法 ...
- num07---工厂方法模式
一.简单工厂模式 [之所以叫简单,说明没有完全做到 设计模式的要求] 前言:活字印刷术,面向对象思想 复用 维护 扩展 灵活 高内聚低耦合 以 实现 一个计算器 为例: 1.创建 抽象类count, ...
- Go语言实现:【剑指offer】二叉树的下一个结点
该题目来源于牛客网<剑指offer>专题. 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回. 注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针. Go语 ...
- Sklearn——SVC学习笔记(图像分割)
新年第二更. 很长时间前就想总结一下用SVC来做图像分割的方法了,方法实现了,但是一直没有总结,今天再来回顾一遍. 首先介绍一下.今天要总结的图像分割其实属于像素级分类,其输出是把图像按照不同的类别逐 ...
- JAVA体系结构简单介绍
JAVA 体系结构包括四个独立但相关的技术: java程序设计语言 java class 文件格式 JAVA应用编程接口(API) JAVA虚拟机(JVM) 当编写运行一个java程序时,就同时体验了 ...
- H3C router cmd
LAN转WAN:接口下port link-mode route windows CMD,本地连接5的链路本地地址经常有一个百分号加一个数字,该数字即接口索引,fe80::8c79:e4f9:f5a3: ...
- cdh集群hive升级,数据不丢失
1.下载hive-1.2.1安装包 http://archive.apache.org/dist/hive/hive-1.2.1/apache-hive-1.2.1-bin.tar.gz 2.将安装包 ...
- linux的那些事-时间 时区
时间表示: 用法:date [选项]... [+格式] 或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] 以给定的格式显示当前时间,或是设置系 ...
- php-fpm.conf.default配置文件
;;;;;;;;;;;;;;;;;;;;; ; FPM Configuration ; ;;;;;;;;;;;;;;;;;;;;; ; All relative paths in this confi ...