web应用服务器到另一台oracle服务器的数据库查询慢

web应用服务器到另一台oracle服务器的数据库查询慢,第1张

跨服务器数据查询,服务器要处理rollback,log之类的 *** 作,还是存储过程,会很慢。

可以这样解决1、把数据、日志、索引放到不同的I/O设备上,增加读取速度,以前可以将Tempdb应放在RAID0上,SQL2000不在支持。数据量(尺寸)越大,提高I/O越重要。

2、纵向、横向分割表,减少表的尺寸(sp_spaceuse)。

3、升级硬件。

4、根据查询条件,建立索引,优化索引、优化访问方式,限制结果集的数据量。注意填充因子要适当(最好是使用默认值0)。索引应该尽量小,使用字节数小的列建索引好(参照索引的创建),不要对有限的几个值的字段建单一索引如性别字段。

5、提高网速。

以java连接oracle为例:

1)首先要有java连接oracle数据库的驱动类,下载好后导入到工程里

2)代码:

import java.sql.*

public class JDBCTest {

/**

* @param args

* @throws ClassNotFoundException

*/

public static void main(String[] args)

throws ClassNotFoundException, SQLException{

//1.准备参数

String ip = "192.168.0.26"

String sid = "tarena"

String port = "1521"

String dbUser = "openlab"

String dbPassword = "open123"

String driver

= "oracle.jdbc.driver.OracleDriver"

//2.构造驱动实例

Class.forName(driver)

//3.创建连接

//连接字符串是固定的形式,oracle的形式:

String url

= "jdbc:oracle:thin:@"

+ ip + ":" + port + ":" + sid

Connection conn

= DriverManager.getConnection

(url, dbUser, dbPassword)

//4.执行SQL语句

String sql = "select id, password, name from user_sd1104 " +

"where id = 1001 and password = '1234'"

Statement stmt = conn.createStatement()

ResultSet rs

= stmt.executeQuery(sql)//执行sql语句

while(rs.next()){

int id = rs.getInt(1)

String pwd = rs.getString(2)

String name = rs.getString(3)

System.out.println("welcome," + name)

}

rs.close()

stmt.close()

conn.close()

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9364686.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存