- 浏览: 140620 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (138)
- java基础 (26)
- 日常工作经验总结 (22)
- SVN学习与使用 (1)
- JBOSS学习与实践 (1)
- webService学习与实践 (4)
- redis学习与实践 (12)
- spring学习与实践 (0)
- hibernate学习与实践 (4)
- Struts2学习与实践 (0)
- mybatis学习与实践 (0)
- SpringMVC学习与实践 (0)
- jfreechart学习与使用 (0)
- javaScript学习与实践 (1)
- linux学习与实践 (4)
- Python学习与实践 (7)
- Oracle学习与实践 (21)
- Mysql学习与实践 (4)
- HTML5+CSS3学习与实践 (0)
- DIV+CSS学习与实践 (0)
- tomcat学习与实践 (1)
- mongodb学习与实践 (1)
- Git学习与实践 (2)
- hadhoop学习与实践 (0)
- shiro学习与实践 (0)
- CMS学习与实践 (0)
- Jmeter学习与实践 (0)
- java测试学习与实践 (2)
- bootstrap学习与实践 (0)
- jquery学习与实践 (0)
- Spring+hibernate+Struts2框架开发CRM项目 (0)
- JVM学习与实践 (0)
- 推荐学习网站 (1)
- 日常工作必备小技能 (4)
- Apache实践 (1)
- dubbo学习与实践 (2)
- Centos7 (6)
- 面试题目集合(收集各大网站) (4)
- 大数据学习 (1)
- 财富本 (2)
- 股票投资学习 (0)
- ZooKeeper (0)
- python切割集合里面相同的元素到一个集合里面 (1)
- 机器学习与深度学习 (1)
最新评论
-
魏叔武:
...
基于UDP协议的Socket编程
1;应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。
2;应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描, 如: select id from t where num=10 or num=20 可以这样查询: select id from t where num=10 union all select id from t where num=20
in 和 not in 也要慎用,否则会导致全表扫描,如: select id from t where num in(1,2,3) 对于连续的数值,能用 between 就不要用 in 了: select id from t where num between 1 and 3
3;下面的查询也将导致全表扫描: select id from t where name like ‘%abc%’
应尽可能的避免更新索引数据列,因为索引数据列的顺序就是表记录的物理存储顺序,一旦该列值改变将导致整个表记录的顺序的调整,会耗费相当大的资源。若应用系统需要频繁更新索引数据列,那么需要考虑是否应将该索引建为索引。
4;尽量使用数字型字段,若只含数值信息的字段尽量不要设计为字符型,这会降低查询和连接的性能,并会增加存储开销。这是因为引擎在处理查询和连接时会逐个比较字符串中每一个字符,而对于数字型而言只需要比较一次就够了。
5;尽可能的使用 varchar/nvarchar 代替 char/nchar ,因为首先变长字段存储空间小,可以节省存储空间,其次对于查询来说,在一个相对较小的字段内搜索效率显然要高些。
尽量使用表变量来代替临时表。如果表变量包含大量数据,请注意索引非常有限(只有主键索引)。
6;避免频繁创建和删除临时表,以减少系统表资源的消耗。
临时表并不是不可使用,适当地使用它们可以使某些例程更有效,例如,当需要重复引用大型表或常用表中的某个数据集时。但是,对于一次性事件,最好使用导出表。
7;在新建临时表时,如果一次性插入数据量很大,那么可以使用 select into 代替 create table,避免造成大量 log ,以提高速度;如果数据量不大,为了缓和系统表的资源,应先create table,然后insert。
8;如果使用到了临时表,在存储过程的最后务必将所有的临时表显式删除,先 truncate table ,然后 drop table ,这样可以避免系统表的较长时间锁定。
2;应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描, 如: select id from t where num=10 or num=20 可以这样查询: select id from t where num=10 union all select id from t where num=20
in 和 not in 也要慎用,否则会导致全表扫描,如: select id from t where num in(1,2,3) 对于连续的数值,能用 between 就不要用 in 了: select id from t where num between 1 and 3
3;下面的查询也将导致全表扫描: select id from t where name like ‘%abc%’
应尽可能的避免更新索引数据列,因为索引数据列的顺序就是表记录的物理存储顺序,一旦该列值改变将导致整个表记录的顺序的调整,会耗费相当大的资源。若应用系统需要频繁更新索引数据列,那么需要考虑是否应将该索引建为索引。
4;尽量使用数字型字段,若只含数值信息的字段尽量不要设计为字符型,这会降低查询和连接的性能,并会增加存储开销。这是因为引擎在处理查询和连接时会逐个比较字符串中每一个字符,而对于数字型而言只需要比较一次就够了。
5;尽可能的使用 varchar/nvarchar 代替 char/nchar ,因为首先变长字段存储空间小,可以节省存储空间,其次对于查询来说,在一个相对较小的字段内搜索效率显然要高些。
尽量使用表变量来代替临时表。如果表变量包含大量数据,请注意索引非常有限(只有主键索引)。
6;避免频繁创建和删除临时表,以减少系统表资源的消耗。
临时表并不是不可使用,适当地使用它们可以使某些例程更有效,例如,当需要重复引用大型表或常用表中的某个数据集时。但是,对于一次性事件,最好使用导出表。
7;在新建临时表时,如果一次性插入数据量很大,那么可以使用 select into 代替 create table,避免造成大量 log ,以提高速度;如果数据量不大,为了缓和系统表的资源,应先create table,然后insert。
8;如果使用到了临时表,在存储过程的最后务必将所有的临时表显式删除,先 truncate table ,然后 drop table ,这样可以避免系统表的较长时间锁定。
发表评论
-
Oracle中 关于数据库存储过程和存储函数的使用
2017-09-14 08:58 428存储过程和存储函数指存储在数据库中供所有用户程序调用的 ... -
Oracle存储过程和存储函数创建方法(详解)
2017-09-14 08:52 822select * from emp; ----------- ... -
oracle常用的几个例子
2017-09-14 08:51 406--修改表,添加列 alter table F_ ... -
ORACLE 日期加减操作
2017-08-18 09:55 421无论是DATE还是timestamp都可以进行加减操作 ... -
防止SQL注入的几种方式
2017-04-16 22:19 5591、什么是SQL注入 简而言之,就是客户端向服务端发送请求时 ... -
PLSQL破解-万能版
2017-03-15 15:54 628打开注册表 在run下输入regedit 删除 1.HK ... -
oracle数据库里面查询昨天的时间--sql语句查询--一个面试题目
2017-02-22 09:14 725查询昨天的时间以及今天的时间 -
oracle忘记dba用户密码--修改system和sys用户的密码:
2017-02-20 13:01 1015在数据库服务器上输入 sqlplus / as sysdb ... -
oracle常用sql语句大全
2017-02-18 22:17 464[b] 1.解锁用户 请输入用户名:sys 输入口令: ... -
根据某一个字段是否是null来查询结果集
2017-02-18 21:25 360根据某个字段为非空查询: 根据某个字段进行不是非空 ... -
oracle数据库中关键字distinct的使用
2017-02-18 20:49 499distinct的意思是唯一,是用来去除重复的查询的结果的一个 ... -
数据库事物的概念
2017-02-18 20:39 462事务(Transaction)是并发控制的单位,是用户定义的一 ... -
oracle数据库 || 的灵活使用
2017-02-16 22:15 432有时候工作需要,比如说在查询订单的时候,一般插入的是全部是数字 ... -
oracle数据库 dual空表的灵活使用
2017-02-16 21:25 571今天遇到一个一时比较冷的面试,说是当前数据库的系统时间,写一条 ... -
oracle的desc命令,用来查询表的结构
2017-02-16 20:58 1671第一步,通过cmd,环境登录用户账号 第二步:使用 desc ... -
利用命令行给oracle用户解锁 unlock
2017-02-16 20:40 1483第一步:通过运行登录数据库 sqlplus system/ ... -
truncate 、delete与drop区别
2017-02-16 12:27 455相同点: 1.truncate和 ... -
sql大量数据优化细节
2017-02-14 21:08 460备注:内容来自转载,感觉不错,自己拷贝了 1.对查询进行 ... -
oracle建立表空间并且给用户赋权限
2017-01-03 16:55 431--创建表空间并指定表空间的大小 CREATE TABLESP ... -
PLSQL登录时报 ORA12521 TNS无监听程序
2016-12-06 20:17 1201在用PL/SQL Developer等客户端工具连接oracl ...
相关推荐
oracle数据库的优化 数据库的优化 2 概述 2 监控数据库的性能: 2 优化数据库磁盘I/O 2 建立和优化数据库文件的方针: 6 监控磁盘I/O的方法: 7 优化回滚段 7 检测回滚段争用: 7 通过以下公式计算等待比率: 8 若...
DB2数据库优化手册是数据库管理和优化的重要手册,本手册涵盖了数据库备份、恢复、磁盘阵列设备使用等多方面的内容,为数据库管理员和开发者提供了详细的指导和建议。 数据库备份和恢复策略 数据库备份和恢复是...
SQL2000数据库优化及安全建议
很好的数据库性能优化方案 ! 很实用的 建议学习
在运用这些高级优化技术之前,必须先对数据访问与表连接进行优化,只有在无法通过其他途径提升性能的时候,才建议使用这里介绍的高级优化技术。 物化视图 视图是一个虚拟表,每次访问他都会导致这个查询语句被执行...
Oracle数据库的优化建议.docx
数据库性能优化最佳建议.pptx
数据库的优化 2 概述 2 监控数据库的性能: 2 优化数据库磁盘I/O 2 建立和优化数据库文件的方针: 6 监控磁盘I/O的方法: 6 优化回滚段 7 检测回滚段争用: 7 通过以下公式计算等待比率: 7 若任何一个的比率大于1%...
sql语句优化建议,sql语句优化建议,sql语句优化建议
常用的检测过程可以被程序化,给出了各种参数的优化指标或给出了整改建议。 Oracle数据库系统优化的重要性体现在以下几个方面: 1. 提高系统效率:通过优化参数配置可以提高系统的效率,使得数据库系统更加高效、...
Oracle数据库日常维护与优化建议.pdf
本文以 SQL Server 为例,从后台数据库的角度讨论应用程序性能优化技巧,并且给出了一些有益的建议。 数据库设计是影响系统性能的关键因素之一。要实现良好的数据库设计,就必须考虑这些问题。逻辑库规范化问题...
内容概要: 本课件先从性能优化的角度,详细解释了索引优化、查询优化、缓存利用等技术手段,给出了示例代码。然后介绍了数据库扩展的垂直和水平两种方式。...本课件内容丰富全面,是数据库优化和可扩展性方面的很好教材。
内容概要: ...重点学习数据库优化部分,针对各种优化手段的示例代码进行理解和拓展实践。最后的设计案例也可以作为练习,试着设计更多的表和查询语句。本文内容详实易学,是数据库设计与优化的很好教材。
MySQL Optimizer Mac破解版是mac上一款强大的MySQL数据库优化器,可以为用户提供优化MySQL数据库提建议,能够简化的查看数据库性能指标的过程,根据建议进行应用的更改。MySQL Optimizer mac破解版能够与专用服务器...
Oracle数据库日常维护与优化建议 (4).pdf
Oracle数据库日常维护与优化建议 (3).pdf
Oracle数据库日常维护与优化建议 (2).pdf
Oracle数据库日常维护与优化建议 (1).pdf