首页 > 代码库 > 如何检查sybase数据库检索时索引的使用的情况
如何检查sybase数据库检索时索引的使用的情况
1.首先在sql advantage执行下面的语句
set showplan on
go
察看执行是否使用到索引。
例如:
set showplan on
go
察看执行是否使用到索引。
例如:
SELECT issuing.book_name ,
issuing.author ,
issuing.publisher ,
issuing.publish_date ,
issuing.isbn ,
issuing.branch ,
issuing.price ,
issuing.biblio_no ,
issuing.biblio_code ,
issuing.data_no ,
issuing.summary ,
0,
issuing.order_status ,
issuing.check_status ,
issuing.money_type
FROM mark.issuing issuing
WHERE biblio_code=‘ZD200400002‘
返回值:
QUERY PLAN FOR STATEMENT 1 (at line 1).
issuing.author ,
issuing.publisher ,
issuing.publish_date ,
issuing.isbn ,
issuing.branch ,
issuing.price ,
issuing.biblio_no ,
issuing.biblio_code ,
issuing.data_no ,
issuing.summary ,
0,
issuing.order_status ,
issuing.check_status ,
issuing.money_type
FROM mark.issuing issuing
WHERE biblio_code=‘ZD200400002‘
返回值:
QUERY PLAN FOR STATEMENT 1 (at line 1).
STEP 1
The type of query is SELECT.
FROM TABLE
mark.issuing
issuing
Nested iteration.
Table Scan. //这里显示没有使用到索引
Forward scan.
Positioning at start of table.
Using I/O Size 2 Kbytes for data pages.
With LRU Buffer Replacement Strategy for data pages.
Parse and Compile Time 0.
SQL Server cpu time: 0 ms.
Table: issuing scan count 1, logical reads: (regular=2915 apf=0 total=2915), physical reads: (regular=0 apf=0 total=0), apf IOs used=0
Total writes for this command: 0
Execution Time 1.
SQL Server cpu time: 100 ms. SQL Server elapsed time: 63 ms.
(629 rows affected)
出现上面的结果后说明该检索点不是索引项,这样的话是影响检索速度的。
如果加上索引返回值应该如下。
QUERY PLAN FOR STATEMENT 1 (at line 1).
STEP 1
The type of query is SELECT.
FROM TABLE
mark.issuing
issuing
Nested iteration.
Index : idx_biblio_code
Forward scan.
Positioning by key.
Keys are:
biblio_code ASC
Using I/O Size 2 Kbytes for index leaf pages.
With LRU Buffer Replacement Strategy for index leaf pages.
Using I/O Size 2 Kbytes for data pages.
With LRU Buffer Replacement Strategy for data pages.
(629 rows affected)
加了这个索引后检索速度会有所提高。
2.类似的命令还有下面几个
set statistics io on
go
set statistics time on
go
察看执行时间。
set noexec on
go
这个表示只执行查询计划,并不真正查询。
如何检查sybase数据库检索时索引的使用的情况
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。