SELECT
MAX(nvl(card_price, 0)) AS card_price,
b_id ,
MAX(CARD_ICCID) as card_iccid
FROM
A
GROUP BY
b_id 这张表 现在 300W 数据,很快就会增长到 600W,
这条sql 该怎么优化 最快?已经建立了 b_id 索引
解决方案 »
- 关于oracle条件为空的判断
- 求高手看看这SQL该怎么优化
- oracle存储过程中怎么样将一个长字符串中的多个空格替换成一个空格
- 统计分析函数问题
- 存储过程的问题!!!
- 查询操作中执行DML操作
- [求助] 求一个效率高的SQL
- Oracle中 联合主键 作为 另一个表(联合)外键的问题,麻烦各位帮看看
- 请问oracle在xp专业版下面可以安装吗?
- 关于Oracle下用相同的字母组合在区分大小写的前提下定义表字段的提问
- Change Archivelog All Crosscheck是干什么的?
- 64位机器上装64位oracle10g,plsql工具用不成,能否在这个64的oracle下再装一个32位的oracle客户端?在线等,谢谢!
改成nvl(max(card_price),0)尽量不要对字段进行运算
MAX(nvl(card_price, 0))
是对每条记录都进行了一次运算
nvl(max(card_price),0)
是对结果集进行一次运算,数量会少很多
找了张1700w的表测试了下,
不加索引的时候30s~31s,
加了idx_a_01的话,21s~22s(index ffs)