首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

SQL 话语在sql里运行很快,但是在项目中慢

2013-01-11 
SQL 语句在sql里运行很快,但是在项目中慢我写的语句select count(distinct GK.localId) fromGoogleKeyword

SQL 语句在sql里运行很快,但是在项目中慢
我写的语句

select count(distinct GK.localId) from
GoogleKeyword GK
left outer JOIN GoogleKeywordReport GKR ON GK.backId = GKR.backKeywordId
AND GKR.reportDate BETWEEN #{startDay} AND #{endDay}
right outer JOIN GoogleAdGroup GA ON GK.localAdGroupId = GA.localId
right outer JOIN GoogleCampaign GC ON GK.localCampaignId = GC.localId
where GK.accountId = #{accountId}

数据将近10万条,后期还会增加。
在Microsoft sql 2005中运行很快,但是在项目中运行时,会卡在sql的执行
[解决办法]
数据库压力如何
[解决办法]
10万行并不算啥,核心问题是:是否有全表扫描或全索引扫描之类的遍历型操作。

所以:做SQL执行计划分析,是否符合预期,检查索引是否齐备。


不过,感觉你这个SQL,表连接数量比较多,这个。。。。。。有时间检查下数据模型设计是否合理。
[解决办法]
既然在Microsoft sql 2005执行很快,那就和SQL关系不大,这个应该从代码上检查是不是出问题,如果有用到连接池,就要关注连接是否有关闭,是否并发太多等等。。。。。。

还有注意WEB服务器连接数据库直接是否有问题
[解决办法]
引用:
既然在Microsoft sql 2005执行很快,那就和SQL关系不大,这个应该从代码上检查是不是出问题,如果有用到连接池,就要关注连接是否有关闭,是否并发太多等等。。。。。。

还有注意WEB服务器连接数据库直接是否有问题


10万数据真的不大
你的语句真的不够优化
你的问题大概真的不是由于你这个有一点小问题的语句产生的
[解决办法]
是Java应用还是Net应用呢?如果是Java应用的话避免用ODBC和数据库连接。
显示SQL应该没有性能问题,是不是应用和数据库建立的连接没有及时close?

[解决办法]
是Java应用还是Net应用呢?如果是Java应用的话避免用ODBC和数据库连接。
显示SQL应该没有性能问题,是不是应用和数据库建立的连接没有及时close?
[解决办法]
要关注连接是否有关闭,是否并发太多等等 还有注意WEB服务器连接数据库直接是否有问题




[解决办法]
本机运行一次 以后的查询都会很快 

热点排行