大家看看我这个语句还可以优化吗!我现在查询需要将近一分钟!!
sql = "SELECT username, sum(c.amount) as sshje FROM T_pos_bill_header a,T_user b,T_pos_bill_payment c where a.casherid=b.userid AND a.pbseqid=c.pbseqid and TO_char(billdate,'YYYY-MM-DD') between '"&date1&"' and '"&date2&"' group by username union SELECT '总金额' as username, sum(c.amount) as sshje FROM T_pos_bill_header a,T_user b,T_pos_bill_payment c where a.casherid=b.userid AND a.pbseqid=c.pbseqid and TO_char(billdate,'YYYY-MM-DD') between '"&date1&"' and '"&date2&"'"
sql = "SELECT username, sum(c.amount) as sshje FROM T_pos_bill_header a,T_user b,T_pos_bill_payment c where a.casherid=b.userid AND a.pbseqid=c.pbseqid and TO_char(billdate,'YYYY-MM-DD') between '"&date1&"' and '"&date2&"' group by username union SELECT '总金额' as username, sum(c.amount) as sshje FROM T_pos_bill_header a,T_user b,T_pos_bill_payment c where a.casherid=b.userid AND a.pbseqid=c.pbseqid and TO_char(billdate,'YYYY-MM-DD') between '"&date1&"' and '"&date2&"'"
解决方案 »
- 请高手来看看oracle的object数据类型中的属性的数据类型问题
- 学习Oracle前应该先学什么?
- 急,关于oracle触发器实现唯一性约束的问题
- 请教一个case when 的问题
- 大家帮忙想想一条有点复杂的SQL语句!!!!!!!!!!!!!!!!!!!!!!!!!!
- 怎么判断一个时间字段是另一个的次日18点以后
- 新手的问题:Oracle8i和Oracle9i能装在同一台server上各自互不影响正常运作吗?
- sql問題
- PHP和oracle数据库连接后,用户名和密码无效是咋回事?能正常登录sql\PLUS呀
- 使用存储过程读取源表数据到目标表出现额外的数据
- 批次更新问题
- decode的结果能直接应用到该SQL的条件中吗?
PBSEQID CASHERID POSBILLNO MEMBERNO MACHINENO BILLDATE AUTHORID STATUS NOTES
主键是PBSEQID 无索引t_pos_bill_payment
PBSEQID PAYMENTTYPEID AMOUNT RECV CHANGES
主键是PBSEQID
索引是PBSEQID
t_user
USERID USERCODE USERNAME PASSWORD LOWERDISCOUNT CANCASH CANMAKEPRICE ISENABLED LASTUPDATED ISMANAGER
主键是 USERID
索引是USERID
另外在最后Order By 下
1.机器配置
2.安装配置
3.表结构与SQL语句的合理性
4.是否使用了优化策略一般情况下的优化都可以通过SQL语句的优化来进行,而SQL语句的优化主要的一个指标就是看SQL语句的执行计划
请参考以下连接:
http://community.csdn.net/Expert/topic/5209/5209876.xml?temp=.6735498楼主将自己语句的执行计划贴出来 我们就知道哪些地方是可以优化的了