社区
Java EE
帖子详情
jdbc执行的性能问题
chenliang3221019
2010-10-25 10:43:46
我有一个用户表,大概80万条数据,先查询出来放到临时表中,然后有个歌曲表,也大概有40万条数据,然后在把歌曲表和临时表关联起来查询,这时执行的数据就很慢了,我用的数据库是sybase,在查询的时候我先算出查询结果集的总数,然后通过循环一次值查询1000条数据。但是查询还是很慢,请问各位有什么好的办法帮我优化一下!提高查询的速度,请大家帮帮忙?谢谢!
...全文
169
9
打赏
收藏
jdbc执行的性能问题
我有一个用户表,大概80万条数据,先查询出来放到临时表中,然后有个歌曲表,也大概有40万条数据,然后在把歌曲表和临时表关联起来查询,这时执行的数据就很慢了,我用的数据库是sybase,在查询的时候我先算出查询结果集的总数,然后通过循环一次值查询1000条数据。但是查询还是很慢,请问各位有什么好的办法帮我优化一下!提高查询的速度,请大家帮帮忙?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chenliang3221019
2010-10-26
打赏
举报
回复
表分区,具体是怎么实现呢。能讲讲大概的思路或过程吗?
Yanbin_Q
2010-10-26
打赏
举报
回复
[Quote=引用 7 楼 feixiaocaohen 的回复:]
用连接池和视图应该会好些
[/Quote]
连接池改善的是创建连接时的性能,与查询无关,即使建立视图也需要创建相关的索引,视图可以简化程序中的 sql 语句。再就是如果数据的即时性不强,可以用临时表,像 warehouse 那样的东西。
lujun1985
2010-10-26
打赏
举报
回复
没用过sybase,在Oracle中有
insert into xxxxx (
) select aaa from yyy
不知道可以不~
feixiaocaohen
2010-10-26
打赏
举报
回复
用连接池和视图应该会好些
Yanbin_Q
2010-10-26
打赏
举报
回复
建索引,能大大改善你的性能力,比如有无索引时,分别可能是2个小时和5分钟的差别。
chenliang3221019
2010-10-25
打赏
举报
回复
对于sql的优化,我估计起不了很大的作用,因为我只查询用户表(大概80万数据)速度还是很快的,但是当我关连歌曲表(大概40万的数据)查询,速度就慢了。主要是在我的代码中有这样一个循环:我用户表有80万条数据,我循环800次,每次查询1000条数据,然后把这1000条数据保存到数据库中,因此,这样就影响到了查询的速度了,这个地方有没有好的方法处理,比如:我不每循环一次保存1000条数据,而是我全部查出来,然后在一次性保存到数据库中。
龙四
2010-10-25
打赏
举报
回复
建了合适的索引了没?看看执行计划有没有全表扫描?缓冲区有没有设置的比较大?
villagehead
2010-10-25
打赏
举报
回复
1、一定要用数据库连接池,无论什么方法什么形式。
2、sybase不熟悉,不过如果有“视图”的话,先用它把数据过滤一把会加快很多
3、还是sybase不熟悉,不知道你说的“通过循环一次值查询1000条数据”什么意思。尽量通过数据库提供的方法读取“一部分”数据,比如mysql就用top关键字,oracle用sql套sql的方法
4、优化sql的写法,把能过滤很多条件的条件语句放在最后写,比如性别=男这样能剔除一大半的条件放在where的最后
5、from后面的表的顺序也很重要,要把数据表写在master表之前,同样的,要把数据多的表放在数据少的表的前面
(oracle是从后向前面解析sql文,所以4,5条不一定适合别的数据库)
上面是我能想到的,其他的google一下别的方法吧,还有很多的小细节可以提高速度。
good luck
ansensp
2010-10-25
打赏
举报
回复
不知道sybase 数据库 是否支持表分区 如果支持可以考虑
JDBC
入门到精通
JDBC
具有 ODBC 一样的
性能
,允许 Java 程序包含与数据库无关的代码。
JDBC
介绍
JDBC
工具类封装
JDBC
防止SQL注入
JDBC
事务
JDBC
分布式两段提交XA
JDBC
操作CRUD
JDBC
批量插入
JDBC
之DDL
高级
性能
测试系列《24. 通过
jdbc
执行
sql脚本》
目录一、
JDBC
(JavaDataBaseConnectivity)1.
jdbc
:java调用数据库的。2.怎么找jar包?3.mysql版本8与mysql版本5.7的jar包有差异吗?二、写脚本1.添加配置元件--
JDBC
Connection Configuration。2.
jdbc
request三、...
JDBC
执行
sql慢的
问题
今天发现
JDBC
的一个怪
问题
。 同样的sql,在mysql客户端中
执行
只要0.6、7秒,但是在
JDBC
中
执行
却要十二三分钟!这差距也太大了!而且只是其中一张表如此,查看表结构,很正常,没有索引,连主键都没有,就只有字段...
JDBC
连接
执行
SQL
JDBC
jdbc
执行
sql的两种方式
package csdn1; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet;...import java.sql.SQLException;... //
执行
sql,一种是Sta
Java EE
67,513
社区成员
225,878
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章