函数索引的妙用
来源:互联网 发布:php获取字符串长度函数 编辑:程序博客网 时间:2024/05/19 18:15
今天生产环境出现这么一个性能问题,简单的描述下:
有个学生表student ,有年级grate,系Mathematics,班级class,年龄age,姓名name,性别sex,这是个千万级的大表,其中grate+Mathematics建了组
合索引,因为资料录入的问题,班级,年龄,姓名,性别有空的情况,现在有个循环里sql出现了性能问题
select grant,Mathematics,namefrom studentwhere grant = 1and Mathematics = 'Department'and nvl(class,1)=1and nvl(age,20)=20and nvl(name,'aa')='aa'查看执行计划,sql用到了grate+Mathematics索引,但是1+‘Department’的资料量有60多万,导致索引的效率很低,再加上要循环执行20万次,导致
程序运行了10个小时,这该怎么办了,其他字段都用了nvl函数,直接建索引也会因为nvl函数的使用而不会被执行计划采用。。。。。这时想到了函数索
引,因为grate+Mathematics+name可以将数据量锁定到很小的范围,这样不就快了嘛!!!于是我们建了grate+Mathematics+nvl(name,'aa')函数索引
一下子就解决这个办法,执行时间从10小时缩短到不到1个小时!!!!
其实函数索引我们并不是不知道,只是有时候到了关键时候却不知道使用,说到底还是经验的问题,最后用一句话来总结:
纸上得来终觉浅,绝知此事要躬行
0 0
- 函数索引的妙用
- HYPERLINK函数的妙用
- 函数指针的妙用
- sscanf函数的妙用
- exit函数的妙用
- extract()函数的妙用
- 数据库唯一性索引的妙用
- 元素抖动 数组和 索引的妙用
- 绝对值函数Abs()的妙用
- 函数指针数组的妙用
- CreateProcess API函数的妙用
- ::GetModuleFileName函数的一个妙用
- ::GetModuleFileName函数的一个妙用
- 函数指针数组的妙用
- CreateProcess API函数的妙用
- 函数指针数组的妙用
- 函数指针数组的妙用
- 函数指针数组的妙用
- 配置heat AutoScalingMultiAZSample.template 模板
- SQL2008避免出错(聚合函数+Over用法)
- java处理日期时间 相加减
- poll函数
- EditText去掉边框
- 函数索引的妙用
- Test__IO流综合应用的小练习
- RK2926 平板跟PC机连接起来的时候,修改驱动,盘符相关显示
- LinuxサーバへTomcat 7.xを導入し、自動起動するように設定する。
- 零缺陷编程读书笔记(六)自己设计并使用断言(4)
- C++面向对象类的实例题目六
- EasyMock 单元测试
- 又发现一个抄我课程大纲的网站
- 1420 - Priest John's Busiest Day (贪心)