20170623_oracle_优化与体系结构
一般优化技巧
建议不用"*"代替所有列名
删除所有数据用TRUNCATE代替DELETE
用NOT EXISTS 代替NOT IN
用EXISTS代替IN
用EXISTS代替DISTINCT
表连接方法
驱动表的选择
WHERE子句的连接顺序
表连接关系放在前面
过滤越多的条件子句应放置到后面
索引
索引分类

B树索引
语法:CREATE [UNIQUE]INDEX index_name ON tablename (column_list)
[TABLESPACE tablespace_name];



其他索引:
唯一索引
反向键索引
位图索引
组合索引
函数索引
索引原则:
创建索引原则:
频繁索引的列
经常排序、分组的列
经常连接的列
指定单独的表空间
不适合建立索引原则
数据量小
仅包含几个不同值的列
数据表操作特别频繁、业务性能要求高
管理索引
索引使用原则:
表中导入数据后再创建索引。否则每次表中插入数据时必须更新索引。
在适当的表和字段上创建索引。如果经常检索的数据少于表中的15%则需要创建索引。
限制表中索引的数目。索引越多,在修改表时对索引做出修改的工作量越大。
索引常见错误用法:
LIKE
函数
运算
表分区
把表中数据划分称若干部分,并存储在不同的位置
优点:
改善查询性能
表更容易管理
便于备份和恢复
提高数据安全性
表分区分类
范围分区:
列值的范围作为划分条件
散列分区:
列的hash值自动分配
列表分区:
列值必须明确指定
一个分区列
复合分区:
先按第一分区方法分区
再按第二分区方法划分子分区
其他分区
小结:
一般SQL优化有哪些手段?
建议不用"*"代替所有列名
删除所有数据用TRUNCATE代替DELETE
用NOT EXISTS 代替NOT IN
用EXISTS代替IN
用EXISTS代替DISTINCT
索引起到什么作用?索引有哪些分类?
逻辑分类:
单列或组合索引
唯一或非唯一索引
基于函数索引
物理分类:
分区或非分区索引
B树索引
正常或反向键索引
位图索引
表分区使用情况?表分区有哪些分类?
表分区:
把表中数据划分称若干部分,并存储再不同的位置
优点:
改善查询性能
表更容易管理
便于备份和恢复
提高数据安全性
表分区分类:
范围分区:
列值的范围作为划分条件
散列分区:
列的hash值自动分配
列表分区:
列值必须明确指定
一个分区列
复合分区:
先按第一分区方法分区
再按第二分区方法划分子分区
其他分区:
20170623_oracle_优化与体系结构的更多相关文章
- gcc 优化选项 -O1 -O2 -O3 -Os 优先级
http://hi.baidu.com/xiaole10368/item/7cea9b1369cc240db88a1a5c 少优化->多优化: O0 -->> O1 -->&g ...
- gcc都做了什么优化
直接上程序: setjmp和longjmp是处理函数嵌套调用的,goto语句不能跨越函数,所以不选择goto. #include <setjmp.h> int setjmp(jmp_buf ...
- Compiler Theory(编译原理)、词法/语法/AST/中间代码优化在Webshell检测上的应用
catalog . 引论 . 构建一个编译器的相关科学 . 程序设计语言基础 . 一个简单的语法制导翻译器 . 简单表达式的翻译器(源代码示例) . 词法分析 . 生成中间代码 . 词法分析器的实现 ...
- SharePoint咨询师之路:设计之前的那些事一:容量
提示:本系列只是一个学习笔记系列,大部分内容都可以从微软官方网站找到,本人只是按照自己的学习路径来学习和呈现这些知识. 咨询师更多的时候是解决方案提供者,那么他们如何能够提供有效的SharePoint ...
- 编译:一个 C 程序的艺术之旅(转载)
C 程序为什么要编译才能执行?一个 C 程序在变成可执行文件的过程中,为什么要经过预处理.编译.汇编.链接这四道工序?让我们从这段简单的 C 程序开始. 为什么要编译 这并不是一个简单的问题.我们知道 ...
- Java面向对象 IO (一)
Java面向对象 IO (一) 知识概要: (1)IO概述 (2)IO流的常用基类 (3)IO程序的书写 (4)字符流 写入 读取 文本文件的两种读取方式 ...
- 性能学习随笔(1)--负载均衡之f5负载均衡
负载均衡设计涉及软件负载和硬件负载,下文转自CSDN中一篇文章涉及f5硬负载知识 ----转载:https://blog.csdn.net/tvk872/article/details/8063489 ...
- 论文笔记系列-Neural Network Search :A Survey
论文笔记系列-Neural Network Search :A Survey 论文 笔记 NAS automl survey review reinforcement learning Bayesia ...
- CPU性能过剩提升乏力影响未来行业发展吗?
导读 虽然CPU仍然在不断发展,但是它的性能已经不再仅仅受限于单个处理器类型或制造工艺上了.和过去相比,CPU性能提升的步伐明显放缓了,接下来怎么办,成为横亘在整个行业面前的大问题. 虽然CPU仍然在 ...
随机推荐
- 邮箱地址自动提示jQuery插件
// mailAutoComplete.js v1.0 邮箱输入自动提示// 2010-06-18 v2.0 使用CSS class类代替CSS对象,同时增强代码可读性// 2010-06-18 v2 ...
- 题解 洛谷P1903/BZOJ2120【[国家集训队]数颜色 / 维护队列】
对于不会树套树.主席树的本蒟蒻,还是老老实实的用莫队做吧.... 其实这题跟普通莫队差不了多远,无非就是有了一个时间,当我们按正常流程排完序后,按照基本的莫队来,做莫队时每次循环对于这一次操作,我们在 ...
- [Python3网络爬虫开发实战] 1.9.3-Scrapyd-Client的安装
在将Scrapy代码部署到远程Scrapyd的时候,第一步就是要将代码打包为EGG文件,其次需要将EGG文件上传到远程主机.这个过程如果用程序来实现,也是完全可以的,但是我们并不需要做这些工作,因为S ...
- HashTable的C++实现
由哈希表的定义,采用C++完成了一个学生成绩存储系统,分析过程如下: 由于哈希表是按KEY值存储,我们假设KEY值为一个字符串.hash算法为字符串的前两位大写字母所对应的数字对一个质数的模运算. i ...
- 监听服务器 重启apache
import requests import os import time url = 'http://www.ydyigo.com/findPwd.php' def get_server_statu ...
- linux文件及目录的权限管理
一.文件的权限 1.文件权限的查看 命令:ls -l 可以使用ll命令代替 ls -l 2.ls -l 所包含的信息 (1)权限信息 (-rw-r--r-- ) 一共有10位 a.第一位:表示文件信息 ...
- 【03】emmet系列之CSS语法
[01]emmet系列之基础介绍 [02]emmet系列之HTML语法 [03]emmet系列之CSS语法 [04]emmet系列之编辑器 [05]emmet系列之各种缩写 单位: 有几个常用值别 ...
- HDU 3749 Financial Crisis(点-双连通分量)
Because of the financial crisis, a large number of enterprises go bankrupt. In addition to this, oth ...
- 2.3 comparator(比较器)
1.comparator是java的一种机制,用来帮助我们给相同对象的不同属性排序 2.Comparable接口,是一个对象本身就已经支持自比较所需要实现的接口,如String,Integer自己就已 ...
- Core java for impatient 笔记 ch8 流
流stream 使用了数据视图,让你可以在比集合更高的概念上指定操作使用流,你只需要将操作的调度留给实现,例如,假设你要计算某个属性的平均值,你只需要指定数据源和属性,然后流类库会优化计算,比如使用多 ...