如何检查sybase数据库检索时索引的使用的情况

1.首先在sql advantage执行下面的语句
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).

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
这个表示只执行查询计划,并不真正查询。

时间: 2024-10-05 03:18:49

如何检查sybase数据库检索时索引的使用的情况的相关文章

Sybase数据库技术,数据库恢复---分享Sybase数据库知识(博客文章索引@51cto)

Sybase数据库技术,数据库恢复分享Sybase数据库知识 博客文章列表,更新时间:2014-12-14 Sybase数据库技术,数据库恢复 站点地图 最新文章 ASE使用with ignore_dup_row删除重复数据  (评论 0   阅读 50) ASE 16静默方式安装并创建服务器  (评论 0   阅读 80) ASE执行sp_remotesql报错:Msg 11224, Level 16, State 2  (评论 0   阅读 72) Sybase支持浪潮天梭K1系统  (评论

数据库调优教程(十) 【精华章节】解决like ’%str’ 时索引不被使用的4种方法

三.           索引 7.      解决like'%str'不使用模糊查询的4种方法 上一讲最后说了,只要模糊查询的模糊值在字符串前面,则不会使用索引,'%aaa'和'_aaa'都不会! 如下 应该说这是Mysql给程序员们开的一个玩笑.要是我的表数据量很大,而且又需要使用like'%%'这样的模糊查询来检索时,该怎么办?? 接下来,笔者将会给大家分享解决这个问题的四种方法! 1)    Select主键 只要Select的字段刚好是主键,那么就会使用到索引(只对innodb数据库有

Sybase:数据库检索的日期格式

Sybase:数据库检索的日期格式 原文地址:https://www.cnblogs.com/lizm166/p/8600713.html

如何在数据库中使用索引

多数数据库,使用 B 树(Balance Tree)的结构来保存索引. B 树, 最上层节点:根节点 最下层节点:叶子节点 两者之间的节点:中间节点 B 树,显著特征:从根节点,到各个叶子节点的距离都是相等的.如此,检索任何值时,都经过相同数目的节点. [sql] CREATE INDEX idx_lname_pinyin ON employee(lname_pinyin); SHOW INDEX FROM employee\G DROP INDEX idx_lname_pinyin ON em

数据库中的索引、键和约束

一.索引 1.什么是索引? 索引是对数据库表中一列或多列的值进行排序的一种结构. 在关系型数据库中,索引是一种与表有关的数据库结构,是事实存在的.它可以使对于表的select等等操作更加快速,相当于一本书的目录. 对于一张表,如果我们想要找到某一列符合特定值的记录,第一种方法是全表搜索,匹配,然后把所有符合的记录列出,但是这样做会消耗大量数据库系统时间,并造成大量磁盘I/O操作:第二种就是在表中建立索引,然后在索引中找到符合查询条件的索引值,最后通过保存在索引中的ROWID(相当于页码)快速找到

数据库查询优化-添加索引

在数据库中,我们通过创建索引可以大大提高查询的速度,一个好的索引可以另SQL的查询更加效率.而一个错误的索引不仅带不来效率的提高,甚至会带来额外的系统开销 索引的基本操作创建索引建表时创建索引 建表的时候指定 CREATE TABLE user(       ID INT NOT NULL,        username VARCHAR(16) NOT NULL,        INDEX [indexName] (username(length)));12345CREATE创建索引 为已有的

性能问题解决案例01——sybase数据库内存问题

最近现场反馈问题,所有电子签章页面打不开文书(pdf格式),后台日志没报任何错误,效果就是空白: 1.首先想到是签章的ocx控件问题,检查ocx控件安装,发现其他电脑也打不开文书,测试页面可以直接打开pdf文档,排除控件的问题. 2.怀疑是文书下载出问题了,检查文书下载功能,我们是把pdf文书下载到本地"我的文档"目录中,然后使用ocx控件打开文书,检查发现有的文书能正常下载到本地,有的干脆不下载,能下载到本地的文书可以正常打开.检查ftp发现文书都没问题,定位问题就出在从ftp下载这

Sybase数据库,普通表修改分区表步骤

本文目标:指导项目侧人员再遇到此类改动需求时可以自己参照更改.需求:Sybase数据库,普通表t_jingyu修改为按天分区的分区表. 1.sp_help查看t_jingyu的表结构,索引等信息 ? 1 2 sp_help t_jingyu go 提示:可以直接用DBArtisan工具Extract原建表语句参考 2.sp_rename重命名普通表t_jingyu及其主键pk_t_jingyu和索引idx_t_jingyu_1. ? 1 2 3 4 5 6 sp_rename t_jingyu,

HBase 数据库检索性能优化策略

HBase 数据表介绍 HBase 数据库是一个基于分布式的.面向列的.主要用于非结构化数据存储用途的开源数据库.其设计思路来源于 Google 的非开源数据库"BigTable". HDFS 为 HBase 提供底层存储支持,MapReduce 为其提供计算能力.ZooKeeper 为其提供协调服务和 failover(失效转移的备份操作)机制.Pig 和 Hive 为 HBase 提供了高层语言支持,使其能够进行数据统计(可实现多表 join 等).Sqoop 则为其提供 RDBM