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 ...
随机推荐
- sc,sockname = sock.accept()
tcpSerSock.accept()返回两个结果,第一个放入tcpClisock,第二个放入addr. 这是python特有的语法.可以接收多个返回值.
- Deep Learning for Chatbots(Introduction)
聊天机器人又被称为会话系统,已经成为一个热门话题,许多公司都在这上面的投入巨大,包括微软,Facebook,苹果(Siri),Google,微信,Slack.许多创业公司尝试通过多种方式来改变与消费者 ...
- go接口详解
go面向接口编程知识点 接口定义与格式 隐式实现及实现条件 接口赋值 空接口 接口嵌套 类型断言 多态 接口定义与格式 接口(interface)是一种类型,用来定义行为(方法).这句话有两个重点,类 ...
- 基于 HTML5 WebGL 的智慧楼宇可视化系统
前言 可视化的智慧楼宇在 21 世纪是有急迫需求的,中国被世界称为"基建狂魔",全球高层建筑数量位居首位,所以对于楼宇的监控是必不可少.智慧楼宇可视化系统更多突出的是管理方面的功能 ...
- javascript 集合 Object Array Map Set
//Object //创建 var obj = {} function obj(){} class obj{} //Array api Array属性和方法: for 条件判断: break cont ...
- 20200115--python学习第九天
今日内容 三元运算 函数 考试题 1.三元运算(又称三目运算) v= 前面 if 条件 else 后面 if 条件: v = '前面' else: v ='后面' 示例:让用户输入值,如果值是整数,则 ...
- Charm Bracelet 一维01背包
A - Charm Bracelet Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu Su ...
- 使用requests、re、BeautifulSoup、线程池爬取携程酒店信息并保存到Excel中
import requests import json import re import csv import threadpool import time, random from bs4 impo ...
- [Contract] Solidity address payable 转换与数组地址
address payable --> address address payable addr1 = msg.sender; address addr2 = addr1; // 隐式转 a ...
- 10分钟快速搭建可用的springboot-web项目
搭建步骤 工具准备 1. IntelliJ IDEA(开发工具,简称idea) 2. JDK1.8+ 3. MAVEN 4. mysql(数据库) 5. redis(session储存) 创建步骤 S ...