执行计划
执行计划是一条查询语句在 Oracle 中的执行过程或访问路径的描述
执行计划常用字段哪有些?基数(Cardinality):Oracle 估计的当前操作的返回结果集行数
字节(Bytes):执行该步骤后返回的字节数
耗费(COST)、CPU 耗费:Oracle 估计的该步骤的执行成本,用于说明 SQL 执行的
代价,理论上越小越好(该值可能与实际有出入)
时间(Time):Oracle 估计的当前操作所需的时间:
表访问有哪几种方式?TABLE ACCESS FULL(全表扫描)
TABLE ACCESS BY INDEX ROWID(通过 ROWID 的表存取)
TABLE ACCESS BY INDEX SCAN(索引扫描)
数据库导入导出需要注意
1.目标数据库要与源数据库有着名称相同的表空间。
2.目标数据在进行导入时,用户名尽量相同(这样保证用户的权限级别相同)。
3.目标数据库每次在进行数据导入前,应做好数据备份,以防数据丢失。
4.弄清是导入导出到相同版本还是不同版本(oracle10g 版本与 oracle11g 版本)。
5.目标数据导入前,弄清楚是数据覆盖(替换),还是仅插入新数据或替换部分数据表。
6.确定目标数据库磁盘空间是否足够容纳新数据,是否需要扩充表空间。
7.导入导出时注意字符集是否相同,一般 Oracle 数据库的字符集只有一个,并且固定,
一般不改变。
8.确定操作者的账号权限。
导出数据格式介绍Dmp 格式:.dmp 是二进制文件,可跨平台,还能包含权限,效率好。
Sql 格式:.sql 格式的文件,可用文本编辑器查看,通用性比较好,效率不如第一种,
适合小数据量导入导出。尤其注意的是表中不能有大字段 (blob,clob,long),如果有,会
报错。
Pde 格式:.pde 格式的文件,.pde 为 PL/SQL Developer 自有的文件格式,只能用 PL/SQL
Developer 工具导入导出,不能用文本编辑器查看。
传统方式 exp(导出)和(imp)导入: 命令执行方式该命令需要在操作系统的命令窗口执行,而非 sql/plus
在使用导出或导入命令时,在命令的后侧不要添加分号。
命令格式exp|imp 用 户 名 / 密 码 @ 连 接 地 址 : 端 口 / 服 务 名 file= 路 径 / 文 件 名 .dmp
full=y|tabels(tablename,tablename...)|owner(username1,username2,username3)
exp:导出命令,导出时必写。
imp:导入命令,导入时必写,每次操作,二者只能选择一个执行。
username:导出数据的用户名,必写;
password:导出数据的密码,必写;
@:地址符号,必写;
SERVICENAME:Oracle 的服务名,必写;
1521:端口号,1521 是默认的可以不写,非默认要写;
file="文件名.dmp" : 文件存放路径地址,必写;
full=y :表示全库导出。可以不写,则默认为 no,则只导出用户下的对象;
tables:表示只导出哪些表;
owner:导出该用户下对象;
full|tables|owner:只能使用一种;
导出数据exp 用户名/密码@oracle 的连接地址:端口/需要导出的服务名 file=路径/文件名.dmp
使用 PL/SQL Developer 实现数据的导入与导出
根据可视化界面操作:工具栏->Tools->Exp tables/imp tablesMySQL 版本有哪些
MySQL Community Server 社区版本,开源免费,但不提供官方技术支持。
MySQL Enterprise Edition 企业版本,需付费,可以试用 30 天。
MySQL Cluster 集群版,开源免费。可将几个 MySQL Server 封装成一个 Server。
MySQL Cluster CGE 高级集群版,需付费。
MySQL 与 Oracle 的区别
实例区别MySQL 是轻量型数据库,开源免费。Oracle 是收费的而且价格非常高。
MySQL 一个实例可以操作多个库,而 Oracle 一个实例只能对应一个库。
MySQL 安装完后 300M 而 Oracle 有 3G 左右。
操作区别主键: MySQL 一般使用自动增长类型,而 Oracle 则需要使用序列对象。
单引号的处理: MySQL 里可以用双引号包起字符串,ORACLE 里只可以用单引号包起字符串。
分页的 SQL 语句: MYSQL 用 LIMIT,而 Oracle 需要使用内建视图和 rownum 伪列。事务处理:MySQL 默认是自动提交,而 Oracle 默认不自动提交,需要用户 CTL 语言进行事务提交。
使用命令创建数据库CREATE DATABASE 数据库名 DEFAULT CHARACTER SET 字符编码;
使用命令删除数据库Drop database 数据库名称
MySQL 中的数据类型
数值类型MySQL 支持所有标准 SQL 数值数据类型。
作为 SQL 标准的扩展,MySQL 也支持整数类型 TINYINT、MEDIUMINT 和 BIGINT。
MySQL数据类型: tinyint(m) 1个字节范围(-128~127) smallint(m) 2个字节范围(-32768~32767) mediumint(m) 3个字节范围(-8388608-8388607) int(m) 4个字节范围(-2147483648-2147483647) bigin(m) 8个字节范围(+-9.22*10的18次方)数值类型中的长度 m 是指显示长度,并不表示存储长度,只有字段指定 zerofill 时有用
例如:int(3),如果实际值是 2,如果列指定了 zerofill,查询结果就是 002,左边用 0 来填充
浮点型: float(m,d) 单精度浮点型8位精度(4字节) m总个数, d小数位 double(m.d) 双精度浮点型16位精度(8字节) m总个数 ,d小数位 字符串型: char(n) 固定长度,最多255个字符 varchar(n) 可变长度,最多65535个字符 tinytext 可变长度,最多255个字符 text 可变长度,最多65535个字符 mediumtext 可变长度,最多2的24次方-1个字符 longtext 可变长度,最多2的32次方-1个字符 char 和 varchar1)char(n) 若存入字符数小于 n,则以空格补于其后,查询之时再将空格去掉。所以 char类型存储的字符串末尾不能有空格,varchar 不限于此。
2)char 类型的字符串检索速度要比 varchar 类型的快。
varchar 和 text1)varchar 可指定 n,text 不能指定,内部存储 varchar 是存入的实际字符数 +1 个字节(n<=255)或 2 个字节(n>255),text 是实际字符数 +2 个字节。
2)text 类型不能有默认值。
3)varchar 可直接创建索引,text 创建索引要指定前多少个字符。varchar 查询速度快于 text, 在都创建索引的情况下,text 的索引似乎不起作用。
日期类型 : date 日期2008-12-2 time 时间'12:25.36 datetime 日期时间2008-12-2 22:06.44 timestamp 自动存储记录修改时间