12
返回列表 发新帖
楼主: samt007

[SQL] SQL性能问题求助II

[复制链接]
论坛徽章:
8
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:522011新春纪念徽章
日期:2011-02-18 11:43:332013年新春福章
日期:2013-02-25 14:51:24优秀写手
日期:2013-12-18 09:29:092014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02秀才
日期:2017-03-20 13:42:20秀才
日期:2017-07-11 13:54:02
11#
 楼主| 发表于 2016-12-2 07:41 | 只看该作者
newkid 发表于 2016-12-1 23:11
在同样的库上,其它索引的操作速度怎么样?
去掉模糊条件后,满足的行数有多少?ORGANIZATION_ID=1108 AND ...

这样子就多了。。。大该45w笔记录。

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
12#
发表于 2016-12-2 22:56 | 只看该作者
samt007 发表于 2016-12-2 07:41
这样子就多了。。。大该45w笔记录。

它必须访问这45W笔记录,然后逐一判断DESCRIPTION LIKE '%员工冬装%',虽然结果很小,但是工作量很大。

使用道具 举报

回复
论坛徽章:
8
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:522011新春纪念徽章
日期:2011-02-18 11:43:332013年新春福章
日期:2013-02-25 14:51:24优秀写手
日期:2013-12-18 09:29:092014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02秀才
日期:2017-03-20 13:42:20秀才
日期:2017-07-11 13:54:02
13#
 楼主| 发表于 2016-12-5 12:48 | 只看该作者
newkid 发表于 2016-12-2 22:56
它必须访问这45W笔记录,然后逐一判断DESCRIPTION LIKE '%员工冬装%',虽然结果很小,但是工作量很大。

是这样子的理解。。。唉,oracle在全模糊扫描这块做得真的是不行。
结合实际上使用情况,一般都是全模糊查询描述的较多。

使用道具 举报

回复
论坛徽章:
2
乌索普
日期:2016-11-28 11:16:45秀才
日期:2016-12-21 16:55:07
14#
发表于 2016-12-5 13:07 | 只看该作者
是不是可以考虑建一个联合索引ORGANIZATION_ID与LANGUAGE的,把like那段放最后,会不会快一点呢。

使用道具 举报

回复
论坛徽章:
8
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:522011新春纪念徽章
日期:2011-02-18 11:43:332013年新春福章
日期:2013-02-25 14:51:24优秀写手
日期:2013-12-18 09:29:092014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02秀才
日期:2017-03-20 13:42:20秀才
日期:2017-07-11 13:54:02
15#
 楼主| 发表于 2016-12-5 14:38 | 只看该作者
jrtongxin5266 发表于 2016-12-5 13:07
是不是可以考虑建一个联合索引ORGANIZATION_ID与LANGUAGE的,把like那段放最后,会不会快一点呢。

现在就是这样子建立索引的。
主要的性能还是oracle对全模糊的查询的支持很差啦。

使用道具 举报

回复
论坛徽章:
2
乌索普
日期:2016-11-28 11:16:45秀才
日期:2016-12-21 16:55:07
16#
发表于 2016-12-5 16:12 | 只看该作者
samt007 发表于 2016-12-5 14:38
现在就是这样子建立索引的。
主要的性能还是oracle对全模糊的查询的支持很差啦。

但是我看到你的sql是把like放在中间了,这样的话,你的联合索引还起作用吗?oracle的索引不是从最左侧开始找吗?

使用道具 举报

回复
论坛徽章:
8
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:522011新春纪念徽章
日期:2011-02-18 11:43:332013年新春福章
日期:2013-02-25 14:51:24优秀写手
日期:2013-12-18 09:29:092014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02秀才
日期:2017-03-20 13:42:20秀才
日期:2017-07-11 13:54:02
17#
 楼主| 发表于 2016-12-6 07:40 | 只看该作者
jrtongxin5266 发表于 2016-12-5 16:12
但是我看到你的sql是把like放在中间了,这样的话,你的联合索引还起作用吗?oracle的索引不是从最左侧开 ...

Oracle的执行计划解析器很灵活的。只要栏位足够就肯定会用到组合索引,和调用的顺序无关的。

使用道具 举报

回复

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

本版积分规则 发表回复

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