楼主: cana

东软医保动态库全表扫描问题请教!

[复制链接]
论坛徽章:
4
授权会员
日期:2006-09-30 14:30:13ITPUB元老
日期:2006-10-01 06:07:56会员2007贡献徽章
日期:2007-09-26 18:42:10ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44
61#
发表于 2006-10-6 21:45 | 只看该作者
建议使用TOAD 工具,优化功能超强啊.

使用道具 举报

回复
论坛徽章:
0
62#
 楼主| 发表于 2006-10-13 22:07 | 只看该作者
我们用的是军字一号工程,自行开发的医保接口,所以字符集一直用的是us7ascii,而东软安装数据库时用的是imp进行倒入,后来发现显示的提示信息不对就强行修改了,这次重装完数据库,不需作什么优化,生化全项在10秒之内得出结果,可见如果基础差了,再优化也得不到好的结果,而且困扰我们很长时间的另一个问题:无法执行exp命令也迎刃而解了!

使用道具 举报

回复
论坛徽章:
194
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
63#
发表于 2006-10-20 08:41 | 只看该作者
10秒对前台讲是很慢的。

使用道具 举报

回复
论坛徽章:
0
64#
 楼主| 发表于 2006-10-21 15:50 | 只看该作者
没错,10秒是不是很快,可比起以前优化来说变化太大了,实际上也没有用10秒!把计划贴上来看一下!
SQL> show parameter optimizer_index_cost_adj

NAME                                 TYPE    VALUE
------------------------------------ ------- ------------------------------
optimizer_index_cost_adj             integer 100
SQL> set autotrace traceonly
SQL> select * from kc22 where akb020='100004' and akc190='30048174120060825' and akc220='265';


Execution Plan
----------------------------------------------------------
   0      SELECT STATEMENT Optimizer=CHOOSE
   1    0   TABLE ACCESS (BY INDEX ROWID) OF 'KC22'
   2    1     INDEX (RANGE SCAN) OF 'INDEX_KC22_T' (NON-UNIQUE)




Statistics
----------------------------------------------------------
        312  recursive calls
          0  db block gets
        170  consistent gets
         66  physical reads
        264  redo size
       3796  bytes sent via SQL*Net to client
        425  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          4  sorts (memory)
          0  sorts (disk)
          1  rows processed
表分析后
SQL> set autotrace traceonly
SQL> select * from kc22 where akb020='100004' and akc190='30048174120060825' and akc220='265';


Execution Plan
----------------------------------------------------------
   0      SELECT STATEMENT Optimizer=CHOOSE (Cost=10 Card=1 Bytes=194)
   1    0   TABLE ACCESS (BY INDEX ROWID) OF 'KC22' (Cost=10 Card=1 By
          tes=194)

   2    1     INDEX (RANGE SCAN) OF 'PK_KC22_T' (UNIQUE) (Cost=9 Card=
          1)





Statistics
----------------------------------------------------------
          0  recursive calls
          0  db block gets
         10  consistent gets
          8  physical reads
          0  redo size
       3796  bytes sent via SQL*Net to client
        425  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
          1  rows processed

使用道具 举报

回复
论坛徽章:
194
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
65#
发表于 2006-10-21 16:11 | 只看该作者
这句无论那个执行都不需要10秒。
另外INDEX_KC22_T包含那些字段。
PK_KC22_T又包含那些字段。

使用道具 举报

回复
论坛徽章:
194
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
66#
发表于 2006-10-21 16:32 | 只看该作者
我这里pk_22 前面3个字段就是akb020,akc190, akc220
好像不会出现没有分析,使用INDEX_KC22_T索引的情况。

使用道具 举报

回复
论坛徽章:
0
67#
 楼主| 发表于 2006-10-21 19:34 | 只看该作者
呵呵,我说的10秒内,是在系统中录入生化全项26项,然后开始上传数据,前置机计算后返回值的时间!

使用道具 举报

回复
论坛徽章:
194
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
68#
发表于 2006-10-22 08:34 | 只看该作者
这样也太长,个人认为应该最多在2-3秒以内。
我们目前还没有上动态库,等上了我在研究,也许我们的数据结构
不一样。

使用道具 举报

回复
论坛徽章:
0
69#
 楼主| 发表于 2006-10-22 19:21 | 只看该作者
如果有源程序,从源程序下手,可能会快一些,军字一号系统使用PB编程,我们没有源程序,是通过接口改造,最后编译成pbd文件,所以执行效率可能会有一些影响,测试了一下,大约在5秒左右。

使用道具 举报

回复
论坛徽章:
194
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
70#
发表于 2006-10-24 08:24 | 只看该作者
但是sql语句你还是可以跟踪到的,如果慢,多数是sql的问题。

使用道具 举报

回复

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

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表