JavaNoob 2011-11-11 15:31
浏览 713
已采纳

oracle 300万数据按时间倒序排列多少秒属于正常?

在我的机器上查询最少要10秒左右, 我把sort_area_size设到足够大,
并且 [code="java"]SELECT disk.Value disk,mem.Value mem,(disk.Value/mem.Value)*100 ratio FROM v$sysstat disk,v$sysstat mem WHERE mem.NAME='sorts (memory)' AND disk.NAME='sorts (disk)';[/code]

结果中的磁盘使用也是0, 但还是需要10秒多.

首先我想知道这10秒多属不属于正常范围 ... 谢谢大家

  • 写回答

2条回答 默认 最新

  • czmmiao 2011-11-14 10:25
    关注

    首先:每个人的机器配置不一样,业务类型不一样,sql所耗费的时间没有任何可比性。
    第2:我想你应该关心的是,你的sql是否最优,而不是一共用了多少时间,因为一共耗了多少时间是由很多因素决定的,例如硬件等等。我们能做到只是把sql调整到最优而已。
    第3:如果sort_area_size已经大到可以保证所有的排序都在内存中进行的话(当然这也不是必须的,使用临时表空间也很正常),那么
    explain plan for sql statements
    select * from table(dbms_xplan.display);
    贴出执行计划,不知道怎么看执行计划的话,可以参考
    http://czmmiao.iteye.com/blog/1249569

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 全志H618ROM新增分区
  • ¥20 jupyter保存图像功能的实现
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
  • ¥15 NX MCD仿真与博途通讯不了啥情况