Oracle学习(四)SQL高级--表优化相关(序列、视图等)
INDEX(索引)
- 可以在表中创建索引,以便更加快速高效地查询数据。
- 用户无法看到索引,它们只能被用来加速搜索/查询。
PS:更新一个包含索引的表需要比更新一个没有索引的表花费更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引。
索引新增: --在表上创建一个简单的索引。允许使用重复的值
CREATE INDEX 索引名
ON 表 (列) --在表上创建一个唯一的索引。不允许使用重复的值:唯一的索引意味着两个行不能拥有相同的索引值。
CREATE UNIQUE INDEX 索引名
ON 表 (列) --若希望索引不止一个列(联合索引),可以在括号中列出这些列的名称用逗号隔开
CREATE INDEX 索引名
ON 表 (列1, 列2) 索引查询: --查询某个表的索引
SELECT * FROM USER_INDEXES WHERE TABLE_NAME=UPPER('表名'); --根据“索引名”查询索引的字段
SELECT * FROM USER_IND_COLUMNS WHERE INDEX_NAME=('索引名'); --根据“索引名”查询创建的索引(PS:第一个参数INDEX是固定写法)
SELECT DBMS_METADATA.GET_DDL('INDEX','索引名') FROM DUAL ;
DROP(撤销/删除)
--删索引
DROP INDEX 索引名 --删表(表结构也删)
DROP TABLE 表
--删表(只删数据)
TRUNCATE TABLE 表 --删库(这个有点刺激哈,别乱整~)
DROP DATABASE 数据库名称
ALTER(增、删、改)
--增加一列
ALTER TABLE 表
ADD 列 数据类型 --删除一列
ALTER TABLE 表
DROP COLUMN 列 --改列的数据类型(Oracle 10G 以后的版本可以省略COLUMN关键字)
ALTER TABLE 表
MODIFY COLUMN 列 数据类型
AUTO INCREMENT(自增)
- Auto increment 会在新记录插入表中时生成一个唯一的数字,可以利用这一特性自动生成主键序列号。
- 在 Oracle 中,必须通过 sequence 对象(该对象生成数字序列)创建 auto-increment 字段。
--创建序列
CREATE SEQUENCE 序列名
MINVALUE 1--最小值
START WITH 1--1为起始
INCREMENT BY 1--以1为递增量
CACHE 10--缓存10个值 --调用nextval函数自增
INSERT INTO 表 (ID,列2,列3)
VALUES (序列名.nextval,值2,值3)
VIEWS(视图)
- 视图是基于 SQL 语句的结果集的可视化的表。
- 视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。
- 可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,也可以呈现数据,就像这些数据来自于某个单一的表一样。
视图的作用:
- 视图隐藏了底层的表结构,简化了数据访问操作,客户端不再需要知道底层表的结构及其之间的关系。
- 视图提供了一个统一访问数据的接口。(即可以允许用户通过视图访问数据的安全机制,而不授予用户直接访问底层表的权限)
- 从而加强了安全性,使用户只能看到视图所显示的数据。
- 视图还可以被嵌套,一个视图中可以嵌套另一个视图。
--创建视图
CREATE VIEW 视图名称 AS 查询语句 --更新视图
CREATE OR REPLACE VIEW 视图名称 AS 查询语句 --撤销视图
DROP VIEW 视图名称
Oracle学习(四)SQL高级--表优化相关(序列、视图等)的更多相关文章
- Oracle学习(二)SQL高级--表数据相关
SQL高级语句 top / limit / rownum / percent (前XXX条数据) --top(SQL Server / MS Access) select top 条数 from 表; ...
- Oracle学习(三)SQL高级--表结构相关(建表、约束)
一.建表语句 CREATE DATABASE(创建数据库) --创建数据库 create database 数据库名字; CREATE TABLE(创建表) --创建表 CREATE TABLE 表名 ...
- oracle学习 四(持续更新中)无法为表空间 MAXDATA 中的段创建 INITIAL 区
解决建立表的时候出现的 ORA-01658: 无法为表空间 MAXDATA 中的段创建 INITIAL 区 出现这个问题是因为表空间的大小不足,可以给他扩容这样的话也会多出来一个数据文件.具体写法如下 ...
- oracle/ms sql 系统表
sql server系统表详细说明 sysaltfiles 主数据库 保存数据库的文件 syscharsets 主数据库字符集与排序顺序 sysconfigures主数据库 配置选项 syscurco ...
- Oracle数据库的sql语句性能优化
在应用系统开发初期,由于开发数据库数据比较少,对于查询sql语句,复杂试图的编写等体会不出sql语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目 ...
- oracle学习 十 数据库的语句优化(持续更)
平时关注Oracle数据库的网友都知道,Oracle性能优化保证了Oracle数据库的健壮性.下面就此提出需要注意的两个原则. 原则一:注意WHERE子句中的连接顺序: ORACLE采用自下而上的 ...
- MySQL 学习四 SQL优化
MySQL逻辑架构: 第一层:客户端层,连接处理,授权认证,安全等功能. 第二层:核心层,查询解析,分析,优化,缓存,内置函数(时间,数学,加密),存储过程,触发器,视图 第三层:存储引擎.负 ...
- MS SQL SERVER索引优化相关查询
查找缺失索引 -- ============================================= -- Description: 查询当前数据库中缺失的索引,知道你进行优化的 ...
- Oracle language types(语言种类) 表的相关操作 DDL数据定义语言
数据定义语言 Data Definition Language Statements(DDL)数据操纵语言 Data Manipulation Language(DML) Statements事务控制 ...
随机推荐
- 计算机网络-应用层(5)P2P应用
P2P系统的索引:信息到节点位置(IP地址+端口号)的映射 在文件共享(如电驴中):利用索引动态跟踪节点所共享的文件的位置.节点需要告诉索引它拥有哪些文件.节点搜索索引从而获知能够得到哪些文件 在即时 ...
- 从原理上理解MySQL的优化建议
从原理上理解MySQL的优化建议 预备知识 B+树索引 mysql的默认存储引擎InnoDB使用B+树来存储数据的,所以在分析优化建议之前,了解一下B+树索引的基本原理. 上图是一个B+树索引示意图, ...
- WebApis中DOM操作的基本案例
1.1. 排他操作 1.1.1 排他思想 如果有同一组元素,我们想要某一个元素实现某种样式, 需要用到循环的排他思想算法: 所有元素全部清除样式(干掉其他人) 给当前元素设置样式 (留下我自己) 注意 ...
- 《52讲轻松搞定网络爬虫》读书笔记 - Session和Cookie
为什么要用Session和Cookie? 简单一句话,因为Session和Cookie可以记录用户状态信息 嘶..这到底啥意思呢? 背景一:动态网页的出现 什么是静态网页 含义:一个网页的内容是HTM ...
- Promise、Generator,Async/await
我们知道JavaScript是单线程语言,如果没有异步编程非得卡死. 以前,异步编程的方法有下面四种 回调函数 事件监听 发布/订阅 Promise对象 现在据说异步编程终极解决方案是——async/ ...
- android开发之java代码中字符串对比忽略大小写。java程序员必回,可用来比对验证码等问题
比如:字符串a与字符串B对比,只需调用 a.equalsIgnoreCase(B);即可.很简单的一个方法.忽略大小写.
- Android开发java开发之常用英文词汇汇总。程序员必备英语单词
ANR (Application Not Response ) bundle 捆, entire 整个的,完整的 lifetime 生命周期 entire lifetime 完整生命周期 visi ...
- 使用Unity的50个建议
关于这些建议 这些建议并不适用于所有的项目 这些建议是基于我与3-20人的小团队项目经验总结出来的 结构.可重复使用性.明晰度都是有价的——团队规模和项目规模决定了是否值得付这个价. 一些建议也许公然 ...
- 文件操作 -- 生成java文件
import hashlibimport os def genJavaFile(packageName, soFile): className, suffix = soFile.split('. ...
- 发送信息到邮箱的第三方扩展库PHPMailer使用方法
一.下载 使用composer下载PHPMailer :composer require phpmailer/phpmailer 二.使用实例 use PHPMailer\PHPMailer\PHPM ...