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: a SQL statement to determine the field information of each query field; according to the conditions of each query field in the field of information, the weight calculation each 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 20151069543381.一种数据库索引创建方法,其特征在于,包括按如下方式对数据库的每一结构化查询语言SQL语句创建数据库索引:确定一SQL语句中每一查询条件字段的字段信息;根据所述每一查询条件字段的字段信息,计算所述每一查询条件字段的权重;根据所述每一查询条件字段的权重,为该SQL语句创建数据库索引。2.如权利要求1所述的方法,其特征在于,所述确定一SQL语句中每一查询条件字段的字段信息,包括:对该SQL语句进行解析,获得该SQL语句对应的数据库表信息、该SQL语句中查询条件字段、以及该SQL语句的数据库连接;根据所述数据库连接链接到对应的数据库,在所述数据库中根据所述数据库表信息查找该SQL语句对应的数据库表,在所述数据库表中查找该SQL语句中查询条件字段的字段信息。3.如权利要求2所述的方法,其特征在于,在查找到所述数据库表之后,还获取所述数据库表的已有索引信息;在该SQL语句中查询条件字段未能匹配已有索引信息时,进一步确定所述数据库表中是否有有效数据;若有,则基于所述数据库表中的有效数据分布为该SQL语句创建数据库索引;若无,则仍旧根据所述每一查询条件字段的权重为该SQL语句创建数据库索引。4.如权利要求3所述的方法,其特征在于,在查找到所述数据库表之后,还获取所述数据库表的大小;所述在该SQL语句中查询条件字段未能匹配已有索引信息时,进一步确定所述数据库表中是否有有效数据,包括:在该SQL语句中查询条件字段未能匹配已有索引信息,且所述数据库表的大小符合...
【专利技术属性】
技术研发人员:王明,叶正盛,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。