社区
基础和管理
帖子详情
这个语句应该如何建立索引呢
coolmasoft
2009-03-10 03:35:37
select * from a where f=0 and d>sysdate-3 order by id desc
建立 f 和 d 字段的联合索引不起作用,好像因为d字段是范围查询,不走索引。
有什么好办法?
...全文
124
9
打赏
收藏
这个语句应该如何建立索引呢
select * from a where f=0 and d>sysdate-3 order by id desc 建立 f 和 d 字段的联合索引不起作用,好像因为d字段是范围查询,不走索引。 有什么好办法?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
打赏
举报
回复
索引跟范围查询没多大关系吧?
学习
mysql 怎么在建表
语句
中
建立
索引
_mysql在建表
语句
中添加
索引
普通
索引
创建创建普通
索引
,即不添加 UNIQUE、FULLTEXT 等任何参数。【例】创建表名为 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>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column...
sql多表查询
语句
优化——
建立
索引
发现问题 今天通过反馈得知上线的项目由于数据量变大查询效率变得很低,页面响应需要几十秒,造成用户等待时间极长。因此对查询
语句
进行优化 分析问题 因为是多表查询,因此我们首先来看查询方法是否存在问题,然后再检查是否存在主表数据量远远大于子表的情况,之后再检查是否有
建立
索引
查询。 解决问题 首先我们贴出查询
语句
然后我们贴出在navicat中此
语句
的查询时间 我们执行查询
语句
发现只有7200条数据...
创建
索引
的sql
语句
是什么
创建
索引
的sql
语句
是【CREATE INDEX indexName ON table_name (column_name)】,这是最基本的
索引
,它没有任何限制。 本文操作环境:windows10系统、mysql 5.7、thinkpad t480电脑。 创建
索引
的sql
语句
如下所示: 下面是最基本的创建
索引
的语法,它没有任何限制。 CREATE INDEX indexName ON table_name (column_name) 如果是CHAR,VARCHAR类型,length可以小.
sql
语句
创建
索引
create index [index_mode] on [cn_name]([car_mode]); index_mode自定义
索引
名 cn_name表名 car_mode列名
基础和管理
17,382
社区成员
95,118
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章