关于SQL优化方面的建议

标签: sql 优化 面的 | 发表时间:2014-01-29 23:13 | 作者:2594082lhj
出处:http://www.iteye.com

2014-01-25

 

SQL优化主要是看执行计划

1.  扫描机制   全表扫描还是索引扫描

2. 主外键索引

3. 建立索引的方式也很重要,根据不同的情况建立不同的索引

4. 如果SQL中包含了函数,索引是不起效果的,需要建立“函数索引”

 

5.  视图最好是建立在基表上面,千万不要视图里面嵌套视图,会大大降低性能

 

6. 曾文的SQL例子  视图里面有rowid

     同时建议最好用的order by ,group by 等需要建立在索引上面

      hibernate 的 “=” 号默认的是用 like

 

DBA建议能用SQL一句查出来的就不要用游标

 

再生产的库在运行的时候有一个on line的关键字,可以帮我们在数据库还在运行的状态中建立索引

 

我们有一个SQL编码规范,在哪里?需要看看。在CQ的编码规范里面

 

子查询,内部的SQL不要和外部的SQL有关联,同时要尽可能的让内部的SQL数据量减小

同时最能过滤数据的条件,同时数据量最小的表要放在最下面(或者是最后面)

 

hibernate自动生成的SQL有时候也需要看看 性能怎么样,不要迷信hibernate。

 

除了SQL层面,还可以从系统层面(session ,application等系统层面,但是DBA说以后11G的会自能化管理,可调性不大),数据库的参数的优化

最关键的可以根据业务对数据进行归档

 

DBA说 80%的索引 ——》全表——》索引反倒会慢一点,所以需要看具体的执行计划。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [sql 优化 面的] 推荐:

关于SQL优化方面的建议

- - 数据库 - ITeye博客
SQL优化主要是看执行计划. 1.  扫描机制   全表扫描还是索引扫描. 建立索引的方式也很重要,根据不同的情况建立不同的索引. 如果SQL中包含了函数,索引是不起效果的,需要建立“函数索引”. 5.  视图最好是建立在基表上面,千万不要视图里面嵌套视图,会大大降低性能. 曾文的SQL例子  视图里面有rowid.

sql优化

- - 数据库 - ITeye博客
是对数据库(数据)进行操作的惟一途径;. 消耗了70%~90%的数据库资源;独立于程序设计逻辑,相对于对程序源代码的优化,对SQL语句的优化在时间成本和风险上的代价都很低;. 可以有不同的写法;易学,难精通. 固定的SQL书写习惯,相同的查询尽量保持相同,存储过程的效率较高. 应该编写与其格式一致的语句,包括字母的大小写、标点符号、换行的位置等都要一致.

sql 优化

- - SQL - 编程语言 - ITeye博客
转:数据库SQL优化大总结之 百万级数据库优化方案. 2014-07-18 09:33 雲霏霏 雲霏霏的博客 字号:. 网上关于SQL优化的教程很多,但是比较杂乱. 近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充. 网上关于SQL优化的教程很多,但是比较杂乱. 近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充.

索引SQL优化

- - SQL - 编程语言 - ITeye博客
(一)深入浅出理解索引SQL优化 (转).         实际上,您可以把索引理解为一种特殊的目录. 微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引). 下面,我们举例来说明一下聚集索引和非聚集索引的区别:  .

优化sql查询

- - 数据库 - ITeye博客
1、 首先要搞明白什么叫执行计划. 执行计划是数据库根据SQL语句和相关表的统计信息作出的一个查询方案,这个方案是由查询优化器自动分析产生的,比如一条SQL语句如果用来从一个 10万条记录的表中查1条记录,那查询优化器会选择“索引查找”方式,如果该表进行了归档,当前只剩下5000条记录了,那查询优化器就会改变方案,采用 “全表扫描”方式.

sql语句优化

- - 数据库 - ITeye博客
性能不理想的系统中除了一部分是因为应用程序的负载确实超过了服务器的实际处理能力外,更多的是因为系统存在大量的SQL语句需要优化. 为了获得稳定的执行性能,SQL语句越简单越好. 对复杂的SQL语句,要设法对之进行简化. 1)不要有超过5个以上的表连接(JOIN). 2)考虑使用临时表或表变量存放中间结果.

SQL Server优化50法

- - CSDN博客推荐文章
虽然查询速度慢的原因很多,但是如果通过一定的优化,也可以使查询问题得到一定程度的解决.   查询速度慢的原因很多,常见如下几种:没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷).   I/O吞吐量小,形成了瓶颈效应.   没有创建计算列导致查询不优化.   内存不足网络速度慢查询出的数据量过大(可以采用多次查询,其他的方法降低数据量).

oracle sql 优化大全

- - Oracle - 数据库 - ITeye博客
最近遇到了oracle sql优化的问题,找了一下,发现这文章实在不错,跟大家分享一下,如果以后有什么新的改进也会继续补充的. 1     前言… 2 . 2     总纲… 2 . 3     降龙十八掌… 3 . 第一掌 避免对列的操作… 3 . 第二掌 避免不必要的类型转换… 4 . 第三掌 增加查询的范围限制… 4 .

Oracle SQL性能优化

- - 数据库 - ITeye博客
(1)      选择最有效率的表名顺序(只在基于规则的优化器中有效):. ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表. 如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.

SQL Server优化50法

- - CSDN博客数据库推荐文章
  虽然查询速度慢的原因很多,但是如果通过一定的优化,也可以使查询问题得到一定程度的解决.   查询速度慢的原因很多,常见如下几种:. 没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷). I/O吞吐量小,形成了瓶颈效应. 查询出的数据量过大(可以采用多次查询,其他的方法降低数据量).