社区
基础和管理
帖子详情
这个语句应该如何建立索引呢
coolmasoft
2009-03-10 03:35:37
select * from a where f=0 and d>sysdate-3 order by id desc
建立 f 和 d 字段的联合索引不起作用,好像因为d字段是范围查询,不走索引。
有什么好办法?
...全文
118
9
打赏
收藏
这个语句应该如何建立索引呢
select * from a where f=0 and d>sysdate-3 order by id desc 建立 f 和 d 字段的联合索引不起作用,好像因为d字段是范围查询,不走索引。 有什么好办法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bai_jiong
2009-03-15
打赏
举报
回复
可以创建以下的索引:
create index ind_fd on a(f,d);
然后改写一下你的SQL语句:
select * from a where f=0 and d>=sysdate-2 order by id desc;
多壮志
2009-03-15
打赏
举报
回复
[Quote=引用 3 楼 happy84911 的回复:]
索引不会在SQL语句体现出来的,
索引的作用在于提高查询效率,降低查询时的资源利用。
一个基表不能建太多的索引;
空值不能被索引
只有唯一索引才真正提高速度,一般的索引只能提高30%左右。
对表进行insert,update,delete处理时,由于要将表的存放位置记录到索引项中 而会降低一些速度。
[/Quote]
一知半解!
codearts
2009-03-15
打赏
举报
回复
试下这2种:
create index ind_fd on a(f,d, id);
create index ind_fd on a(f,d, id desc);
wangsong145
2009-03-11
打赏
举报
回复
[Quote=引用楼主 coolmasoft 的帖子:]
select * from a where f=0 and d>sysdate-3 order by id desc
建立 f 和 d 字段的联合索引不起作用,好像因为d字段是范围查询,不走索引。
有什么好办法?
[/Quote]
字段是怎么查询的跟索引没有关系的啊
liuyi8903
2009-03-10
打赏
举报
回复
[Quote=引用 3 楼 happy84911 的回复:]
....
只有唯一索引才真正提高速度,一般的索引只能提高30%左右。
.....
[/Quote]
从哪里来的观点?
可以这么说,不管是unique还是一般的普通index,
这不是区别性能的根本,通常来说,在同样的结果集返回率的情况下,3个左右的IO都能完成索引扫描,这不取决于是什么索引类型,
而是取决于你的索引的构造,如CF和blevel等.
当然还有CBO的选择,统计信息的差异.
因此不是说提高30%还是多少,而是根据很多东西来决定的. oracle中有太多的因素会影响你的查询.因此不能一概而论.
zcs_1
2009-03-10
打赏
举报
回复
看是否走索引,用set autotrace on,查询后会显示执行计划,看看是不是用了索引.
happy84911
2009-03-10
打赏
举报
回复
索引不会在SQL语句体现出来的,
索引的作用在于提高查询效率,降低查询时的资源利用。
一个基表不能建太多的索引;
空值不能被索引
只有唯一索引才真正提高速度,一般的索引只能提高30%左右。
对表进行insert,update,delete处理时,由于要将表的存放位置记录到索引项中 而会降低一些速度。
Andy__Huang
2009-03-10
打赏
举报
回复
你什么知道它不起作用呢?
create index idx_tb on tb (f,d);
xanaduwpz
2009-03-10
打赏
举报
回复
索引跟范围查询没多大关系吧?
学习
7天带你玩转Mysql数据库之SQL
语句
您观看课程学习后 免费入群领取【超全Python资料包+17本学习电子书】 七年SQL
语句
编写经验。满满的干货! 在网上找了好多SQL数据库的教程,但你还会面临这样的问题: 1. 自己写了SQL却不知道对不对。 2. 在上线后...
mysql 怎么在建表
语句
中
建立
索引
_mysql在建表
语句
中添加
索引
【例】创建表名为 score 的数据表,并在该表的 id 字段上
建立
索引
,SQL
语句
如下:CREATE table score(id int(11) AUTO_INCREMENT primary key not null,name varchar(50) not null,math int(5) ...
mysql
语句
添加
索引
mysql
索引
学习----2----创建
索引
、修改
索引
、删除
索引
的命令
语句
mysql
语句
添加
索引
创建或添加
索引
可以使用如下
语句
。 一、使用ALTER TABLE
语句
创建
索引
。 语法如下: 1.PRIMARY KEY(主键
索引
) mysql&...
创建
索引
的sql
语句
是什么
创建
索引
的sql
语句
是【CREATE INDEX indexName ON table_name (column_name)】,这是最基本的
索引
,它没有任何限制。 本文操作环境:windows10系统、mysql 5.7、thinkpad t480电脑。 创建
索引
的sql
语句
如下所示...
sql多表查询
语句
优化——
建立
索引
因为是多表查询,因此我们首先来看查询方法是否存在问题,然后再检查是否存在主表数据量远远大于子表的情况,之后再检查是否有
建立
索引
查询。 解决问题 首先我们贴出查询
语句
然后我们贴出在navicat中此
语句
的查询...
基础和管理
17,377
社区成员
95,128
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章