Oracle数据库访问性能优化



数据库访问性能优化

面向程序员的数据库访问性能优化法则
 
特别说明:

1、  本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识;

2、  本文许多示例及概念是基于Oracle数据库描述,对于其它关系型数据库也可以参考,但许多观点不适合于KV数据库或内存数据库或者是基于SSD技术的数据库;

3、  本文未深入数据库优化中最核心的执行计划分析技术。

 

读者对像:

开发人员:如果你是做数据库开发,那本文的内容非常适合,因为本文是从程序员的角度来谈数据库性能优化。

架构师:如果你[......]

Read more

数据库游标



游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。每个游标区都有一个名字。用户可以用SQL语句逐一从游标中获取记录。

在数据库开发过程中,当你检索的数据只是一条记录时,你所编写的事务语句代码往往使用SELECT INSERT 语句。但是我们常常会遇到这样情况,即从某一结果集中逐一地读取一条记录。那么如何解决这种问题呢?游标为我们提供了一种极为优秀的解决方案。

在数据库中,游标是一个十分重要的概念。游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。

游标总是与一条SQ[......]

Read more

数据库存储过程

数据库存储过程

定义:
将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。
讲到这里,可能有人要问:这么说存储过程就是一堆SQL语句而已啊?
Microsoft公司为什么还要添加这个技术呢?
那么存储过程与一般的SQL语句有什么区别呢?
存储过程的优点:
1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
2.当对数据库进行复杂操作时(如对多个表进行Up[......]

Read more

eclipse maven错误“Project configuration is not up-to-date with pom.xml. Run proje”

eclipse maven错误“Project configuration is not up-to-date with pom.xml. Run proje”

导入maven工程后,出现如下错误:

Description Resource Path Location Type
Project configuration is not up-to-date with pom.xml. Run project configuration update rdc line 1 Maven Configuration Problem

解决办法就是:

右键项目,【Maven】–》[......]

Read more

java解析URL中domain、端口和协议的两种方法

java解析URL中domain、端口和协议的两种方法

Java代码 收藏代码
@Test
public void parseDomain() throws IOException {
for (int i = 0; i < 10000000; i++) {
String urlAddress = “http://www.roseindia.net/jsf/JSFLoginApplication.shtml”;
URL url = new URL(urlAddress);
assertEquals(“www.roseindia.net”, url.getHost());[......]

Read more

eclipse实现maven profile配置方法

eclipse激活maven profile配置。

How to activate maven profile inside eclipse

Normally maven is use for project dependency management and lifecycle, so there are several developers working on it. Each has its own development environment either in windows, linux or mac. To do this we create several profil[......]

Read more

jstack,、jmap、jstat

jstack,、jmap、jstat

jstack——发现线程目前停留在那行代码
jstack <PID>
jstack -F <PID> # 有时候线程挂起的时候要加上-F参数才能把信息dump处理

jmap
#提取进程内存信息,用于分析OOM导致原因
jmap -dump:format=b,file=HeapDump.bin <pid>
#输出堆信息
jmap -heap <PID>

jhat简单分析内存中对象情况
#读取dump文件,生成报告,并启动WEB服务器,默认端口为7000
jhat -J-mx76[......]

Read more

如何判断字符串是否是有效json对象(java + gson )

判断字符串是否是有效json对象(java + gson )。

Java代码 收藏代码
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.google.gson.JsonParseException;
import com.google.gson.JsonParser;

public class JsonUtils {

protecte[......]

Read more

Java Map根据Key和value排序的代码

Java Map根据Key和value排序的代码

Java代码 收藏代码
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.TreeMap;

import org.junit.Test;

public class MapSortTest {

stati[......]

Read more

设置maven nexus运行内存方法

设置maven nexus运行内存。

While starting Nexus I was getting following error, this was on a machine that was running at 1GB of memory.

Error occurred during initialization of VM
Could not reserve enough space for object heap

So the solution was to edit /usr/local/nexus/bin/jws/wrapper.conf
and a[......]

Read more