起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10521|回复: 21

[结贴] oracle数据库,大数据量的时候,查询非常慢

[复制链接]

851

主题

2560

帖子

5714

积分

论坛元老

Rank: 8Rank: 8

积分
5714
QQ
发表于 2017-4-10 10:10:14 | 显示全部楼层 |阅读模式
本帖最后由 wgs7909 于 2017-4-10 10:11 编辑

记得在哪里看到过,oracle没有limit参数,所以X5对oracle的分页机制,采取的是,先全查,然后再取相应页的数据。经过好长时间的分析 ,感觉页面查询慢,就是这个原因导致的。如果直接用数据库工具查询的话,查询20条数据,速度还是很快的。
但是通过X5平台进行查询的时候,就会巨慢无比。
把SQL语句拿到数据库工具里查询,加个rownum限制,速度就会很快。
这是为什么?百思不得姐

数据量不大,6000条左右,但是由7张表连起来的,不过该优化的都已经优化过了。

企业应用定制开发。X5开发者。
手机:15065117236
QQ:87356667

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2017-4-10 11:11:51 | 显示全部楼层
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

851

主题

2560

帖子

5714

积分

论坛元老

Rank: 8Rank: 8

积分
5714
QQ
 楼主| 发表于 2017-5-20 20:05:42 | 显示全部楼层
jishuang 发表于 2017-4-10 11:11
http://docs.wex5.com/bex5-deploy-question-list-10027/

按你的帖子改过了,可是没有效果啊!!!
企业应用定制开发。X5开发者。
手机:15065117236
QQ:87356667
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2017-5-22 10:29:14 | 显示全部楼层
按照中这个设置如果用了分页sql肯定是分页查的,把sql打出来看看
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

851

主题

2560

帖子

5714

积分

论坛元老

Rank: 8Rank: 8

积分
5714
QQ
 楼主| 发表于 2017-5-22 11:24:13 | 显示全部楼层
本帖最后由 wgs7909 于 2017-5-22 14:10 编辑
jishuang 发表于 2017-5-22 10:29
按照中这个设置如果用了分页sql肯定是分页查的,把sql打出来看看
justep把KSQL转换成SQL后是这样的:
  1. SELECT
  2.         ROWNUM AS JUSTEP_RN__,
  3.         JUSTEP_TABLE__.*
  4. FROM
  5.         (
  6.                 SELECT
  7.                         UDV_X5_INPRO_BYORG.BWSL AS BWSL,
  8.                         UDV_X5_INPRO_BYORG.CALCAMOUNT AS CALCAMOUNT,
  9.                         UDV_X5_INPRO_BYORG.CAR_BAR_CODE AS CAR_BAR_CODE,
  10.                         UDV_X5_INPRO_BYORG.CAR_NUM AS CAR_NUM,
  11.                         UDV_X5_INPRO_BYORG.CHARGE_FEE AS CHARGE_FEE,
  12.                         UDV_X5_INPRO_BYORG.CHARGE_PERSON AS CHARGE_PERSON,
  13.                         UDV_X5_INPRO_BYORG.CHARGE_TIME AS CHARGE_TIME,
  14.                         UDV_X5_INPRO_BYORG.CHARGE_WEIGHT AS CHARGE_WEIGHT,
  15.                         UDV_X5_INPRO_BYORG.CLIENTSHORTNAME AS CLIENTSHORTNAME,
  16.                         UDV_X5_INPRO_BYORG.CMIL AS CMIL,
  17.                         UDV_X5_INPRO_BYORG.CUSTOMER_NICKNAME AS CUSTOMER_NICKNAME,
  18.                         UDV_X5_INPRO_BYORG.DATE_BELONG AS DATE_BELONG,
  19.                         UDV_X5_INPRO_BYORG.DATE_TALLY AS DATE_TALLY,
  20.                         UDV_X5_INPRO_BYORG.DEDUCT_WEIGHT AS DEDUCT_WEIGHT,
  21.                         UDV_X5_INPRO_BYORG.DESTINATION_NAME AS DESTINATION_NAME,
  22.                         UDV_X5_INPRO_BYORG.DISCHANGE_AMOUNT AS DISCHANGE_AMOUNT,
  23.                         UDV_X5_INPRO_BYORG.DJ AS DJ,
  24.                         UDV_X5_INPRO_BYORG.FWEIGHT AS FWEIGHT,
  25.                         UDV_X5_INPRO_BYORG.GOODS_NAME AS GOODS_NAME,
  26.                         UDV_X5_INPRO_BYORG.IDENTITYCARDADDRESS AS IDENTITYCARDADDRESS,
  27.                         UDV_X5_INPRO_BYORG.IDENTITYCARD_NO AS IDENTITYCARD_NO,
  28.                         UDV_X5_INPRO_BYORG.INSPECT_TIME AS INSPECT_TIME,
  29.                         UDV_X5_INPRO_BYORG.IS_SPLIT AS IS_SPLIT,
  30.                         UDV_X5_INPRO_BYORG.ORDER_INFO AS ORDER_INFO,
  31.                         UDV_X5_INPRO_BYORG.ORDER_PRICE AS ORDER_PRICE,
  32.                         UDV_X5_INPRO_BYORG.ORDER_TYPE AS ORDER_TYPE,
  33.                         UDV_X5_INPRO_BYORG.OTHER_WEIGHT AS OTHER_WEIGHT,
  34.                         UDV_X5_INPRO_BYORG.PERSON_PURCHASE AS PERSON_PURCHASE,
  35.                         UDV_X5_INPRO_BYORG.PERSON_RELEASE AS PERSON_RELEASE,
  36.                         UDV_X5_INPRO_BYORG.PRICE AS PRICE,
  37.                         UDV_X5_INPRO_BYORG.PURCHASE_CUSTOMERUSER_NAME AS PURCHASE_CUSTOMERUSER_NAME,
  38.                         UDV_X5_INPRO_BYORG.PURCHASE_MARK AS PURCHASE_MARK,
  39.                         UDV_X5_INPRO_BYORG.RZ AS RZ,
  40.                         UDV_X5_INPRO_BYORG.SF AS SF,
  41.                         UDV_X5_INPRO_BYORG.SML AS SML,
  42.                         UDV_X5_INPRO_BYORG.SNAME AS SNAME,
  43.                         UDV_X5_INPRO_BYORG.STATEE AS STATEE,
  44.                         UDV_X5_INPRO_BYORG.SUM_DECODE_WEIGHT AS SUM_DECODE_WEIGHT,
  45.                         UDV_X5_INPRO_BYORG.SWEIGHT AS SWEIGHT,
  46.                         UDV_X5_INPRO_BYORG.SZQW AS SZQW,
  47.                         UDV_X5_INPRO_BYORG.TIME_OPERATE_G AS TIME_OPERATE_G,
  48.                         UDV_X5_INPRO_BYORG.TIME_OPERATE_T AS TIME_OPERATE_T,
  49.                         UDV_X5_INPRO_BYORG.TIME_RELEASE AS TIME_RELEASE,
  50.                         UDV_X5_INPRO_BYORG.TO_TYPE AS TO_TYPE,
  51.                         UDV_X5_INPRO_BYORG.TWEIGHT AS TWEIGHT,
  52.                         UDV_X5_INPRO_BYORG.fID,
  53.                         UDV_X5_INPRO_BYORG.WATER_WEIGHT AS WATER_WEIGHT,
  54.                         UDV_X5_INPRO_BYORG.YARD_POSITION_NAME AS YARD_POSITION_NAME,
  55.                         UDV_X5_INPRO_BYORG.YDZS AS YDZS,
  56.                         UDV_X5_INPRO_BYORG.ZAZHI_WEIGHT AS ZAZHI_WEIGHT,
  57.                         UDV_X5_INPRO_BYORG.ZZ AS ZZ
  58.                 FROM
  59.                         UDV_X5_INPRO_BYORG UDV_X5_INPRO_BYORG
  60.                 WHERE
  61.                         UDV_X5_INPRO_BYORG.SFNAME LIKE '%/中粮贸易%'
  62.                 ORDER BY
  63.                         TIME_OPERATE_T DESC,
  64.                         CHARGE_TIME DESC
  65.         ) JUSTEP_TABLE__
  66. WHERE
  67.         ROWNUM < 21
复制代码
就是这个SQL慢啊,

KSQL里可以看到  limit  可是不起作用啊????

SQL里也可以看到 ROWNUM<21,还是慢,但是我把SQL放在工具里,就很快了。
这是为什么呢?



QQ截图20170522111730.jpg
企业应用定制开发。X5开发者。
手机:15065117236
QQ:87356667
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2017-5-22 13:46:00 | 显示全部楼层
输出的是sql的执行时间,不是ksql的
确认那个配置设置的正确吗?设置后重写启动tomcat了吗?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

851

主题

2560

帖子

5714

积分

论坛元老

Rank: 8Rank: 8

积分
5714
QQ
 楼主| 发表于 2017-5-22 14:11:39 | 显示全部楼层
jishuang 发表于 2017-5-22 13:46
输出的是sql的执行时间,不是ksql的
确认那个配置设置的正确吗?设置后重写启动tomcat了吗? ...

重启tomcat后,可以看到SQL里有ROWNUM。但是执行还是很慢啊
不过比之前快了一倍,现在45秒了

企业应用定制开发。X5开发者。
手机:15065117236
QQ:87356667
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2017-5-22 15:00:06 | 显示全部楼层
这个慢就说明是数据库中慢了,对数据库中加索引做优化看看
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

851

主题

2560

帖子

5714

积分

论坛元老

Rank: 8Rank: 8

积分
5714
QQ
 楼主| 发表于 2017-5-22 15:17:57 | 显示全部楼层
jishuang 发表于 2017-5-22 15:00
这个慢就说明是数据库中慢了,对数据库中加索引做优化看看

同样的sql,我用数据库工具查询的时候,就很快,0.16秒就完成了
企业应用定制开发。X5开发者。
手机:15065117236
QQ:87356667
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2017-5-22 15:32:29 | 显示全部楼层
数据库中也是用的like查的吗?

jdbc标准的方式用setParameter的方式设置值查询看看多长时间http://blog.csdn.net/aitangyong/article/details/38751363
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-24 23:35 , Processed in 0.108323 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表