索引的问题,这种情况是使用复合索引还是单个索引?? 高手快来
create table test(
id number(9),
mobile varchar2(15),
service_name varchar2(20),
service_id varchar2(20),
content varchar2(400),
get_time date);
这个表以后可能要有几百万的数据,以下是经常要用到的查询语句
select * from test where mobile='xxxxx';
select * from test where id=xxxx;
select * from test where service_id='xxxxx';
select * from test where to_chr(get_time,'yyyymm')='xxxx' and mobile='xxxxx';
select * from test where to_chr(get_time,'yyyymm')='xxxx' and service_id='xxxxx';
第一个问题:如何建立索引才能达到很好的查询效果?
第二个问题:get_time字段建表时是用date类型好,还是换成varchar2类型好,那种会让以后的查询更快?
相关推荐
Oracle复合索引与空值的索引使用问题小结
昨天在QQ群里讨论一个SQL优化的问题,语句大致如下: select A,min(B) from table group by A;--A,B都没有not null约束,A列无空值,B列有空值。--存在复合索引IX_TEST(A,B) 于是手动测试,环境采用Oracle自带的scott用户下的emp表。 1.首先查看如下语句的执行计划(此时表只有主键索引): 2.添加IX_TEST(deptno,comm)后查看执行计划: 发现依然是全表扫描。 3.为deptno列添加非空约束后再次查看执行计划: 4.总结: Btree索引是不存储空值的,这个是所有使用Btree索引的数据库的共同
SQLServer的复合索引学习.docx
SQLServer的复合索引学习.docx
多列复合索引的使用 绕过微软sql server的一个缺陷
多列复合索引是指由多个字段组成的索引。这种情况相当常用的,并且,在查询中,用多列复合索引来指定搜索范围边界也相当常用
深入理解MongoDB的复合索引
为什么需要索引? 当你抱怨MongoDB集合查询效率低的时候,可能你就需要考虑使用索引了,为了方便后续介绍,先科普下MongoDB里的索引机制(同样适用于其他的数据库比如mysql)。 mongo-9552:PRIMARY> db.person.find() { "_id" : ObjectId("571b5da31b0d530a03b3ce82"), "name" : "jack", "age" : 19 } { "_id" : ObjectId("571b5dae1b0d530a03b3ce83"), "name" : "rose", "age" : 20 } { "_id" : Obj
简单例子理解主键,索引,聚集索引,复合索引,非聚合索引
测试数据以及表结构 一、 创建主键(主键=主键索引=聚集索引) 主键是什么? 答:拿主键可以唯一确定一条数据,它和物理存储排序一致,不能为空,一个表只能有一个。 原本没有创建的主键的表在磁盘上存储为: Id=0;username=username0;sex=男;address=浙江; Id=1;username=username1;sex=女;address=北京; Id=2;username=username2;sex=男;address=北京; 在创建主键之后变成了如下图树结构: 通过上图展示之后,大数据下不加主键查询速度为O(n),B-TREE查询速度为O(log n)。你想啊,不加


基础和管理
