The invention discloses a database index creation method and device, wherein the method comprises as follows for each database structured query language SQL statement to create a database index: to determine a history metadata in the SQL statement for each query field; according to the conditions of each query field history metadata, determine the weights of each of the A query field; according to the conditions of each query field weights, create a database index for the SQL statement. This application can avoid the impact of the absence of valid data distribution in the business scenarios and databases on database index creation during the creation of the database index automatically.
【技术实现步骤摘要】
数据库索引创建方法及装置
本申请涉及数据库
,尤其涉及数据库索引创建方法及装置。
技术介绍
数据库(Database)按照数据结构来组织、存储和管理数据。数据库索引对数据库表中一列或多列的值进行排序并建立目录,使用数据库索引可以快速访问数据库表中的特定信息。数据库索引的创建和维护是DBA(DatabaseAdministrator,数据库管理员)日常业务中不可取代的工作。DBA的主要日常工作之一是SQL(StructuredQueryLanguage,结构化查询语言)调优,SQL调优的重要手段之一是给查询慢的SQL建立合适的数据库索引。数据库索引的建立需要对业务场景有一定了解,并需要一定的数据库经验,对业务场景的了解程度和数据库经验的丰富程度对线上应用的性能影响非常巨大。随着业务场景规模的不断扩大,DBA不可能了解所有业务,这样数据库索引的建立就会脱离实际业务需求,造成数据库索引创建的效率不高,随时会影响线上业务应用的正常运转。同时,数据库索引的建立和维护工作也占用了DBA大量时间。现有技术中提出一种基于有效数据分布的数据库索引自动创建的方案,然而在该方案中数据库索引的建立需要基于数据库中的有效数据分布,并且要求尽量真实模拟线上数据分布,那么在新数据库或者新业务上线的时候,由于没有任务业务数据写入,缺少数据库的有效数据分布,这种基于有效数据分布的数据库索引建立方案就有些缺陷了,二者的矛盾是数据库索引需要业务上线前建立好,而数据库索引的建立又依赖业务中的有效数据分布。
技术实现思路
本申请实施例提供一种数据库索引创建方法,用以在自动进行数据库索引创建过程中 ...
【技术保护点】
一种数据库索引创建方法,其特征在于,包括按如下方式对数据库的每一结构化查询语言SQL语句创建数据库索引:确定一SQL语句中每一查询条件字段的历史元数据;根据所述每一查询条件字段的历史元数据,确定所述每一查询条件字段的权重;根据所述每一查询条件字段的权重,为该SQL语句创建数据库索引。
【技术特征摘要】
2015.10.23 CN 20151069547131.一种数据库索引创建方法,其特征在于,包括按如下方式对数据库的每一结构化查询语言SQL语句创建数据库索引:确定一SQL语句中每一查询条件字段的历史元数据;根据所述每一查询条件字段的历史元数据,确定所述每一查询条件字段的权重;根据所述每一查询条件字段的权重,为该SQL语句创建数据库索引。2.如权利要求1所述的方法,其特征在于,所述确定一SQL语句中每一查询条件字段的历史元数据,包括:对该SQL语句进行解析,获得该SQL语句中查询条件字段;通过查询历史元数据字典表,确定该SQL语句中每一查询条件字段的历史元数据。3.如权利要求2所述的方法,其特征在于,所述通过查询历史元数据字典表,确定该SQL语句中每一查询条件字段的历史元数据,包括:查询历史元数据字典表,获得该SQL语句中每一查询条件字段的历史平均位置;根据所述每一查询条件字段的历史元数据,确定所述每一查询条件字段的权重,包括:将所述每一查询条件字段的历史平均位置,作为所述每一查询条件字段的权重。4.如权利要求3所述的方法,其特征在于,根据所述每一查询条件字段的权重,为该SQL语句创建数据库索引,包括:根据该SQL语句中历史平均位置超过阈值的查询条件字段,为该SQL语句创建数据库索引。5.如权利要求2、3或4所述的方法,其特征在于,在对该SQL语句进行解析时,还获得该SQL语句对应的数据库表信息和该SQL语句的数据库连接;根据所述数据库连接链接到对应的数据库,在所述数据库中根据所述数据库表信息查找该SQL语句对应的数据库表,获取所述数据库表的已有索引信息;在该SQL语句中查询条件...
【专利技术属性】
技术研发人员:王明,叶正盛,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。