创建表
create table user(id number(10),name varchar(109));
查询表
select * from user where id = 1;
创建索引
create index user_id(id);
1、写出查询user表中的数据按照索引查询,怎么写
???
2、查询的时候判断表是否有索引
???
用sql写出来,请教大师解决
数据库索引中创selectSQL
create table user(id number(10),name varchar(109));
查询表
select * from user where id = 1;
创建索引
create index user_id(id);
1、写出查询user表中的数据按照索引查询,怎么写
???
2、查询的时候判断表是否有索引
???
用sql写出来,请教大师解决
数据库索引中创selectSQL
???select * from user where id = 1; 就是这么写。。但未必会走索引2、查询的时候判断表是否有索引
???不是看sql,而是看执行计划。
2. 创建索引要加 on某个表名,你那样是创不出来的。
3. 写出查询user表中的数据按照索引查询,怎么写
楼主是想用hint来强制查询走 索引 么?
4、查询的时候判断表是否有索引
select index_name from user_indexes where table_name = '你的表名'
Execution Plan
----------------------------------------------------------
Plan hash value: 2903481642---------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 11 | 2 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| T | 1 | 11 | 2 (0)| 00:00:01 |
|* 2 | INDEX RANGE SCAN | IDX_T_Y | 1 | | 1 (0)| 00:00:01 |
---------------------------------------------------------------------------------------Predicate Information (identified by operation id):
--------------------------------------------------- 2 - access("Y"='9999a')
Execution Plan
----------------------------------------------------------
Plan hash value: 2903481642---------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 11 | 2 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| T | 1 | 11 | 2 (0)| 00:00:01 |
|* 2 | <span style="color: #FF0000;"><span style="font-size: 18px;">INDEX RANGE SCAN</span></span> | IDX_T_Y | 1 | | 1 (0)| 00:00:01 |
---------------------------------------------------------------------------------------Predicate Information (identified by operation id):
--------------------------------------------------- 2 - access("Y"='9999a')
那我在查询的时候要先判断一下是否存在索引吗,如果在正式的环境中我该怎么写呢
例如:
create table user(id number(10),name varchar(109));
查询表
select * from user where id = 1;
创建索引
create index user_id(i_id);
下面怎么查询,能不能帮忙写完整呢,谢谢哦是的想强制的走索引我是想强制走索引我该怎么办呢
那我在查询的时候要先判断一下是否存在索引吗,如果在正式的环境中我该怎么写呢
例如:
create table user(id number(10),name varchar(109));
查询表
select * from user where id = 1;
创建索引
create index user_id(i_id);
下面怎么查询,能不能帮忙写完整呢,谢谢哦是的想强制的走索引我是想强制走索引我该怎么办呢
用index hints就可以强制走索引
select /*+ index(user user_id) */ * from user where id=1;