1. 使用索引,避免在索引列上使用计算.2.用>=替代> ;(SELECTMIN(X.ROWID) FROMEMPXWHEREX.EMP_NO=E.EMP_NO);17. 避免使用大字段18.count(*)比count(1)稍快,当然如果可以通过索引检索,对索引列的计数仍旧是最快的.19.用Whe...
分类:
数据库 时间:
2015-01-26 19:12:45
阅读次数:
153
1.数据库设计(是否复合范式,是否合理归档、分区、分表等)2.硬件基础架构 (设备规格,硬件性能,负载均衡,容灾等)3.ql语句的写法、索引和统计信息,事务和锁,应用程序访问代码(连接过多、频繁开关等)]1、字段的设计字段是数据库最基本的单位,其设计对性能的影响是很大的。需要注意如下:A、数据类型尽...
分类:
数据库 时间:
2015-01-26 18:57:25
阅读次数:
180
堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在...
分类:
其他好文 时间:
2015-01-26 17:33:20
阅读次数:
165
垃圾回收的瓶颈 传统分代垃圾回收方式,已经在一定程度上把垃圾回收给应用带来的负担降到了最小,把应用的吞吐量推到了一个极限。但是他无法解决的一个问题,就是Full GC所带来的应用暂停。在一些对实时性要求很高的应用场景下,GC暂停所带来的请求堆积和请求失败是无法接受的。这类应用可能要求请求的返回时间在...
分类:
编程语言 时间:
2015-01-26 16:54:11
阅读次数:
220
为什么要分代 分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。 在Java程序运行的过程中,会产生大量的对象,其中有些对象是与业务信息相关,比如Http请求中的Session对象、线程、Socket连接,这类对...
分类:
编程语言 时间:
2015-01-26 16:40:48
阅读次数:
206
JVM调优工具Jconsole,jProfile,VisualVMJconsole :jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。详细说明参考这里JProfiler:商业软件,需要付费。功能强大。详细说明参考这里VisualVM:JDK自带,功能强大,与...
分类:
编程语言 时间:
2015-01-26 16:39:44
阅读次数:
303
如何区分垃圾上面说到的“引用计数”法,通过统计控制生成对象和删除对象时的引用数来判断。垃圾回收程序收集计数为0的对象即可。但是这种方法无法解决循环引用。所以,后来实现的垃圾判断算法中,都是从程序运行的根节点出发,遍历整个对象引用,查找存活的对象。那么在这种方式的实现中,垃圾回收从哪儿开始的呢?即,从...
分类:
编程语言 时间:
2015-01-26 16:35:07
阅读次数:
157
1.Java对象的大小基本数据的类型的大小是固定的,这里就不多说了。对于非基本类型的Java对象,其大小就值得商榷。 在Java中,一个空Object对象的大小是8byte,这个大小只是保存堆中一个没有任何属性的对象的大小。看下面语句:Object ob = new Object(); 这样在程序中...
分类:
编程语言 时间:
2015-01-26 15:05:58
阅读次数:
188
数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。基本类型包括:byte,short,int,long,c...
分类:
编程语言 时间:
2015-01-26 14:56:41
阅读次数:
318
原文:SQL Server调优系列玩转篇二(如何利用汇聚联合提示(Hint)引导语句运行)前言
上一篇我们分析了查询Hint的用法,作为调优系列的最后一个玩转模块的第一篇。有兴趣的可以点击查看:SQL Server调优系列玩转篇(如何利用查询提示(Hint)引导语句运行)
本篇继续玩转模块的内容,同...
分类:
数据库 时间:
2015-01-25 23:50:50
阅读次数:
273