`
AutomaticThoughts
  • 浏览: 162500 次
社区版块
存档分类
最新评论
文章列表
SQL 语句优化总结 个人日常优化SQL语句的总结笔记 目前 DB 承受 日平均 500W PV 左右的站点,数据文件大小在20G左右,表数据量 在 50 - 500 W 左右 仅供参考:   1  . 查询的数据行分布情况,决定索引是否用得上,如果查询的数据行在数据表中分布均匀,且所占比重较大,能用上索引;反之,用不上索引 2  . select 的字段数目,特别是 长度较大的字段,对 语句的执行时间影响较大 3  . 语句中有 distinct 时,再在 where 语句中限制日期范围的话,反而会影响性能,无 distinct 时,执行情况是一样的 4  . ...
Sql Server 索引使用情况及优化的相关 Sql 语句,非常好的SQL语句,记录于此:   --Begin Index(索引) 分析优化的相关 Sql -- 返回当前数据库所有碎片率大于25%的索引-- 运行本语句会扫描很多数据页面
  数据库优化的讨论可以说是一个永恒的主题。资深的Oracle优化人员通常会要求提出性能问题的人对数据库做一个statspack,贴出数据库配置等等。 还有的人认为要抓出执行最慢的语句来进行优化。但实际情况是,提出疑问的人很可能根本不懂执行计划,更不要说statspack了。而我认为,数据库优 化,应该首先从大的方面考虑:网络、服务器硬件配置、操作系统配置、Oracle服务器配置、数据结构组织、然后才是具体的调整。实际上网络、硬件等往往 无法决定更换,应用程序一般也无法修改,因此应该着重从数据库配置、数据结构上来下手,首先让数据库有一个良好的配置,然后再考虑具体优化某些过慢的语 句。   ...
原文地址:mappingLocations、mappingDirectoryLocations与mappingJarLocations 区别作者:☆水『若寒 由于spring对hibernate配置文件hibernate.cfg.xml的集成相当好, 所以,在项目中我一直使用spring的org.springframework.orm.hibernate.LocalSessionFactoryBean来 ...

连接池

    博客分类:
  • DB
连接池原理图:什么是连接池 简单点说就是管理与数据库连接的实例池 连接池的好处: 1:重用与数据库的连接,节省资源 2:免去程序与数据库建立连接的工作,提高效率   连接池运行的基本过程: 1:当连接池启动的 ...
select b.username username,a.disk_reads reads,    a.executions exec,a.disk_reads/decode(a.executions,0,1,a.executions) rds_exec_ratio,    a.sql_text Statement,a.CPU_TIME,a.CPU_TIME/decode(a.executions,0,1,a.executions)from  v$sqlarea a,dba_users bwhere a.parsing_user_id=b.user_idorder by ...
  个人日常优化SQL语句的总结笔记 目前 DB 承受 日平均 500W PV 左右的站点,数据文件大小在20G左右,表数据量 在 50 - 500 W 左右 仅供参考:   1  . 查询的数据行分布情况,决定索引是否用得上,如果查询的数据行在数据表中 ...
提高数据库查询速度的几个思路 1、缓存,在持久层或持久层之上做缓存。 2、数据库表的大字段剥离,保证单条记录的数据量很小。 3、恰当地使用索引。 4、必要时建立多级索引。 

对象的粒度

问题:什么叫对象的粒度?粗粒度和细粒度啊?   答:同样一个系统,同样的需求。两个设计师给出两种设计。两个设计总的代码行数差不多,但是类的数目不同。第一个设计有10个类,第二个设计有50个类。这样平均起来每个类所含有的代码行数就有很大的区别,第一种设计中的代码行数平均比第二种设计多大约5倍。第一种设计是粗粒度的,第二种设计是细粒度的。第一种设计中对象的粒度平均是第二种设计中对象粒度的5倍。       原本项目组中的ejb程序员要求我每一个查询列表对应一个dao,相应的,粒度就比较细但我注意到许多列表本身的数据访问接口是一致的,区别只在于SQL语句的不同于是就采用一个数据访问接口对应一 ...
本文参考自:Tomcat全攻略 参考链接:http://www.ibm.com/developerworks/cn/java/l-tomcat/index.html#1           Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,目前最新版本是6.x,相对5.x性能提升很多,主要优化了内存使用, ...
  三种连接都是以连接MySQl为例。 <!-- JDBC驱动程序 --> <property name="connection.driver_class">org.gjt.mm.mysql.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/struts?useUnicode=true&characterEncoding=GBK</property> <!-- 数据库用户名 - ...
  4.6 HQL调优 4.6.1 索引调优 HQL看起来和SQL很相似。从HQL的WHERE子句中通常可以猜到相应的SQL WHERE子句。WHERE子句中的字段决定了数据库将选择的索引。 大多数Hibernate开发者所常犯的一个错误是无论何时,当需要新WHERE子句的时候都会创建一个新的索引。因为索引会带来额外的数据更新开销,所以应该争取创建少量索引来覆盖尽可能多的查询。4.1节让你使用一个集合来处理所有可能的数据搜索条件。如果这不太实际,那么你可以使用后端剖析工具来创建一个针对应用程序涉及的所有SQL的集合。基于那些搜索条件的分类,你最终会得到一个小的索引集。与此同时,还可以尝试 ...
1.引言 Hibernate是最流行的对象关系映射(ORM)引擎之一,它提供了数据持久化和查询服务。 通过我们的使用Hibernate 3.3.1和Oracle 9i的能源项目中的一些例子,本文涵盖了很多Hibernate调优技术。其中还提供了一些掌握Hibernate调优技术所必需的数据库知识。在你的项目中引入Hibernate并让它跑起来是很容易的。但是,要让它跑得好却是需要很多时间和经验的。 我们假设读者对Hibernate有一个基本的了解。如果一个调优方法在Hibernate 参考文档(下文简称HRD)或其他调优文章中有详细描述,我们仅提供一个对该文档的引用并从不同角度对其做 ...
这两天优化一个模块,那模块的问题是有时用户量访问量大时就慢了,于是想起去优化数据库操作,使用Hibernate的二级缓存。 先是看了一些参考手册,然后找了几个配置的实例,测试成功。对二级缓存有了更多的认识。 缓存本质上来说就是HashMap,一个ID对应一个Value,暂时放入内在或者硬盘,用的时候先从缓存里面取,若没有再去数据库取。避免缓存出现赃数据和缓存的命中率是一对死对头,若想命中效高,则存在的有效时间就得长,但这样却容易出现赃数据,因为更新的时间间隔长了。所以难点就在去找到一个平衡点,一个最优最能接受的点。 Hibernate是对JDBC的轻型封装,要想做到像JDBC那样轻便、快捷 ...
Hibernate与延迟加载: Hibernate对象关系映射提供延迟的与非延迟的对象初始化。非延迟加载在读取一个对象的时候会将与这个对象所有相关的其他对象一起读取出来。这有时会导致成百的(如果不是成千的话) select 语句在读取对 ...
Global site tag (gtag.js) - Google Analytics