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

请问这种烂SQL怎么优化呀?

[复制链接]
论坛徽章:
226
BLOG每日发帖之星
日期:2010-02-11 01:01:06紫蛋头
日期:2013-01-12 23:45:222013年新春福章
日期:2013-02-25 14:51:24问答徽章
日期:2013-10-17 18:06:40优秀写手
日期:2013-12-18 09:29:10马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14
11#
发表于 2005-3-11 13:49 | 只看该作者
如果NOT IN的值每次都会发生变化而且没有什么规律,你可能只有选择全表扫描了。

使用道具 举报

回复
论坛徽章:
1
2011新春纪念徽章
日期:2011-02-18 11:43:33
12#
发表于 2005-3-11 14:04 | 只看该作者
索引能基于函数吗?

使用道具 举报

回复
论坛徽章:
0
13#
发表于 2005-3-11 14:14 | 只看该作者
不能吧

使用道具 举报

回复
招聘 : 数据库管理员
论坛徽章:
87
生肖徽章2007版:虎
日期:2009-03-02 15:42:532011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-02-18 11:43:32数据库板块每日发贴之星
日期:2011-04-05 01:01:01现任管理团队成员
日期:2011-05-07 01:45:08鲜花蛋
日期:2011-06-26 11:15:422011新春纪念徽章
日期:2011-01-25 15:41:01
14#
发表于 2005-3-11 14:14 | 只看该作者

能,从9i起

最初由 dinglj 发布
[B]索引能基于函数吗? [/B]


A function-based index includes columns that are either transformed by a function
(for example, the UPPER function), or included in an expression (for example, col1
+ col2).
Defining a function-based index on the transformed column or expression allows
that data to be returned using the index when that function or expression is used in
a WHERE clause or an ORDER BY clause. Therefore, a function-based index can be
beneficial when frequently-executed SQL statements include transformed columns
(or columns in expressions) in a WHERE or ORDER BY clause.
Function-based indexes defined with the UPPER(column_name) or
LOWER(column_name) keywords allow case-insensitive searches. For example, the
following index:
CREATE INDEX uppercase_idx ON emp (UPPER(empname));
facilitates processing queries such as:
SELECT * FROM emp
WHERE UPPER(empname) = ’MARK’;

使用道具 举报

回复
论坛徽章:
168
马上加薪
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-01-04 11:49:54蜘蛛蛋
日期:2011-12-05 16:08:56ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41设计板块每日发贴之星
日期:2011-07-22 01:01:02ITPUB官方微博粉丝徽章
日期:2011-06-30 12:30:16管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:33
15#
发表于 2005-3-11 14:15 | 只看该作者

Re: 多谢,可在substr(COL3,1,4)建立了索引后

最初由 violing 发布
[B]我再使用不等于或NOT IN,NOT EXISTS,还是用不到索引呀,而且NOT IN 的值有二十几个呢! [/B]


建立索引后分析过表和索引了吗?
表的数据量有多大?
列的选择性高不高?

使用道具 举报

回复

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

本版积分规则 发表回复

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