查询数据的系统、方法和数据管理系统技术方案

技术编号:5971905 阅读:340 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了查询数据的系统、方法和数据管理系统。所述查询数据的系统包括:存储媒介,存储有多个数据、以及为所述多个数据创建并与之绑定的次索引;索引元数据管理模块,用于管理从存储于数据库的基表数据中获取索引元数据,其中,所述索引元数据用于根据预定规则创建所述多个数据;以及索引数据管理模块,用于根据从用户端接收的操作指令,通过绑定的所述次索引在所述存储媒介中查询到要操作的数据。

【技术实现步骤摘要】

本申请公开的内容涉及查询数据的系统、方法和数据管理系统。本申请公开的内 容还涉及一种为数据库创建数据索引的方法。
技术介绍
在数据库系统中,索引对于改善数据查询速度有着举足轻重的作用,充分使用索 引可以改善数据库应用程序的性能。从索引的物理形式上看,数据库的索引分为集群索引 (Cluster Index)和非集群索引(Noncluster Index)两种,区别在于数据按照集群索引有 序存放,而非集群索引一般不与数据存储在一起,数据也不会按照非集群索引排序。一般 地,集群索引被称为数据库主索引(Primary Index),被索引属性称为主键(Primary Key), 非集群索引被称作次索引Secondary hdex)。当对数据库中的数据进行查询或者按非主键的列排序或统计时,需要先扫描次索 引以找到与次索引关联的数据,然后在找到的数据中根据主索引确定要操作的数据。这样, 会不停地读取磁盘不同位置的文件,磁头需要多次移动来完成对数据排序、统计等操作,所 需要处理时间长。目前解决此类问题的方式是使用物化视图将用户的查询指令生成新表,表中包括 查询指令和数据,对用户常用的查询指令,用户直接调用该物化视图即可。然而,上述物化 视图的方式更新成本高、查询性能低。
技术实现思路
本申请的公开了一种数据索引系统,其可包括存储媒介,存储有多个数据、以及为所述多个数据创建并与之绑定的次索引;索引元数据管理模块,用于管理从存储于数据库的基表数据中获取索引元数据, 其中,所述索引元数据用于根据预定规则创建所述多个数据;以及索引数据管理模块,用于根据从用户端接收的操作指令,通过绑定的所述次索引 在所述存储媒介中查询到要操作的数据。本申请还公开了一种数据管理系统,其可包括第一数据查询子系统;以及第二数据查询子系统,所述第二数据查询子系统包括上述的数据索引系统;其中,所述数据索引系统中的判定模块从用户端接收操作指令,并判定是否要在 所述数据索引系统中通过绑定的所述次索引执行所述操作指令,当判定的结果为是时,所 述数据索引系统中的索引数据管理模块通过绑定的所述次索引查询所述操作指令要执行 操作的数据,否则所述判定模块触发所述第一数据查询子系统以通过所述基表数据具有的次索引 找到与该次索引关联的基表数据,然后在找到的基表数据中根据所述基表数据具有的主索 引确定要操作的数据。本申请还公开了一种查询数据的方法,所述方法可包括从用户端接收数据操作指令;确定是否要通过绑定的次索引执行所述数据操作指令,其中,所述绑定的次索引 与多个数据相互绑定,所述多个数据根据预定规则从数据库的基表数据中创建;以及如果确定的结果为是,则通过所述绑定的次索引在绑定的多个数据中查询所述数 据操作指令要执行操作的数据。此外,本申请还公开了一种为数据库创建数据索引的方法。该方法可包括根据预定规则从所述数据库中的基表数据中创建要绑定的多个数据;为所述多个数据创建次索引;将所述多个数据和所述次索引绑定;以及将所述绑定的多个数据和次索引在物理上独立于所述数据库中的基表数据相邻 存储。附图说明图1显示了根据本申请一个实施方式的查询数据的方法的流程图;图2显示了根据本申请一个实施方式的用于建立扩展的次索引结构的具体处理 流程图;图3显示了根据本申请一个实施方式的更新扩展的次索引结构的具体处理流程 图;图4显示了根据本申请一个实施方式的数据索引系统的方框图;以及图5显示了根据本申请一个实施方式的数据管理系统的方框图。具体实施例方式下面将参照附图描述本申请的具体实施方式。图1显示了根据本申请一个实施方式的查询数据的方法100。如图1所示,在步骤 SlOl中从用户端接收数据操作指令,数据操作指令可例如是查询数据、创建数据、或更新数 据等的指令。接着,在步骤S102中确定是否要通过扩展的次索引结构执行数据操作指令。扩展 的次索引结构包括与数据库中的元数据关联的多个数据以及与所述多个数据绑定的次索 引。为了便于理解,在具体描述步骤S102之前,首先参照图2描述根据本申请的用于建立 扩展的次索引结构的具体处理。如图2所示,在步骤S201中,根据应用的需要和预定规则从数据库中的基表数据 中创建要被绑定的多个数据。根据本专利技术的一个实施方式,要被绑定的数据例如是通过对 用户经常进行的操作(如对于数据库的特定表中的特定列的查询、统计等)而形成的数据。 具体地,要被绑定的数据例如包括 直方图(Histogram),即次索引所在的列(以下简称为“索引列”)在数据库中的 出现次数; 不同于索引列的其它数据列,例如,在WAP访问日志表中,IP地址是次索引,则其 它数据列通常可以是要与该IP地址绑定的用户号码和机型;·不同于索引列的其它数据列的函数值,例如,与次索引绑定的用户号码的前5位 数;·其它数据列和次索引列的函数值。例如,当单价为次索引列时,与该索引绑定的 成本与单价的比值。其中,数据库中用于创建要被绑定的数据的基表数据被称为“索引元数据”并被单 独保存。关于索引元数据的作用将在后面进行描述。接着,在步骤S202中为要绑定的多个数据创建次索引。关于次索引的定义可参见 本申请
技术介绍
部分的描述。可以使用与结构化查询语言(SQL)规范相近的语句创建次索 弓丨。例如可以采用指令CREATE INDEX Idx_NameON TABEL (table name )来创建次索引。根据本申请的一个实施方式,还可使用与SQL规范相近的语句对创建的次索引进 行删除或更新。具体地,删除扩展的次级索引中的次索引的指令为Drop Index Idx_Name, 更新扩展的次级索引中次索引的指令可例如为 Alter Index Idx_Name Add Alter Index Idx_Name drop ^Alter Index Idx_Name modify 。接着,在步骤S203中将创建的数据和次索引绑定以形成扩展的次索引结构。扩展 的次索引结构中可以将每个记录表示为元组(Tuple):(索引列,被绑定数据1,被绑定数据 2...)。在由扩展的次索引结构确定的一个数据表中可以根据应用包括多个次索引。扩展的次索引结构可例如表1所示。IndexedCol被绑定数据1被绑定数据2...被绑定数据NA预处理结果1预处理结果2 · ·预处理结果NB预处理结果1预处理结果2 · ·预处理结果NC预处理结果1预处理结果2预处理结果N ‘ ·预处理结果1预处理结果2预处理结果N表 1如表1所示,扩展的次索引结构中例如记录如下信息1.索引名称例如可以命名上表1中次索引“IndexedCol”名称为“DBI-1”;2.索引列例如在表1中名称为‘IndexedCol”标志的列“A、B、C. · ·,,;3.被绑定的数据,即在步骤S201中创建的数据。此外,还可使用索引元数据列表保存上述扩展的次索引的描述信息。扩展的次索 引的描述信息可以抽象的表述如下DBI-I 索引列,(绑定数据1,绑定数据2. · ·),(公式1,公式2. · ·)DBI-2 …其中,索引列为扩展的次索引中二级索引的创建列,绑定数据和公式表示数据表上被绑定数据的信息。 根据本申请的一个实施方式,为了加快判定某次更新是否涉及到扩展的次索引, 还可本文档来自技高网
...

【技术保护点】
1.一种数据索引系统,包括:存储媒介,存储有多个数据、以及为所述多个数据创建并与之绑定的次索引;索引元数据管理模块,用于管理从存储于数据库的基表数据中获取索引元数据,其中,所述索引元数据用于根据预定规则创建所述多个数据;以及索引数据管理模块,用于根据从用户端接收的操作指令,通过绑定的所述次索引在所述存储媒介中查询到要操作的数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:钱岭齐骥罗治国孙少陵
申请(专利权)人:中国移动通信集团公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1