mysql中如何删除索引(怎么删除索引mysql语句)

mysql中如何删除索引(怎么删除索引mysql语句)

更新时间:2025-11-09 已阅读:301次 | 作者:潍坊网站建设

网站首页 >> 新闻资讯 >> 网络营销 >> mysql中如何删除索引(怎么删除索引mysql语句)

删除索引的策略主要是两种

mysql中如何删除索引(怎么删除索引mysql语句)

mysql中如何删除索引(怎么删除索引mysql语句)

1,未使用的索引加以删除

2,唯一性太差的字段不适合单独创建索引,即使频繁作为查询条件,这类的索引要加以删除,解释一下:

mysql中如何删除索引(怎么删除索引mysql语句)

mysql中如何删除索引(怎么删除索引mysql语句)

information_schema.statistics和information_schema.index_statistics

information_schema.statistics是索引定义表,主要字段有:

TABLE_CATALOG:包含索引的表所属的目录的名称。此值始终为def。

TABLE_SCHEMA:包含索引的表所属的架构(数据库)的名称。

TABLE_NAME:包含索引的表的名称。

NON_UNIQUE:如果索引不能包含重复项,则为0;如果可以,则为1。

INDEX_SCHEMA:索引所属的架构(数据库)的名称。

INDEX_NAME:索引名称。如果索引是主键,则名称始终为PRIMARY。

SEQ_IN_INDEX:索引中的列序号,从1开始。

COLUMN_NAME:列名。另请参见该EXPRESSION列的说明 。

COLLATION:列如何在索引中排序。它可以具有值 A(升序),D (降序)或NULL(未排序)。

CARDINALITY:索引中唯一值数量的估计。要更新此数字,请运行ANALYZE

TABLE或(对于MyISAM表) myisamchk

-a。CARDINALITY基于存储为整数的统计信息进行计数,因此即使对于小型表,该值也不一定精确。基数越高,MySQL在进行连接时使用索引的机会越大。这个字段后面分析索引唯一性的时候还会用上。

其他几个字段相对次要就不赘述了。

information_schema.index_statistics是使用信息表,主要字段有

TABLE_SCHEMA:包含索引的表所属的架构(数据库)的名称。

TABLE_NAME:包含索引的表的名称。

INDEX_NAME:索引名称。

ROWS_READ:通过索引读取的记录数。

information_schema.tables 表定于信息,主要字段有

TABLE_SCHEMA:包含索引的表所属的架构(数据库)的名称。

TABLE_NAME:包含索引的表的名称。

Table_type:表类型

Engine:使用的数据库引擎,MyISAM CSV InnoDB

Version:版本,默认值10

Row_format:行格式[Compact|Dynamic|Fixed]

Table_rows:表里所存多少行数据

Avg_row_length : 平均行长度

Data_length: 数据长度

Max_data_length :最大数据长度

Index_length : 索引长度

Data_free :空间碎片

Auto_increment 做自增主键的自动增量当前值

其他几个字段相对次要就不赘述了。

查找未使用索引的SQL如下

这个SQL就是找到索引定义但是没有索引使用数据的索引,这些索引还需要考虑这些索引未被使用的原因。原因可能是

这些索引的确是多余的,已经有更有效的索引可使用,所以这批索引可以安全删除。

这些索引对应的使用场景,在这段时间内并未出现?这类的索引应该配合查询SQL的调整。

下面这个sql主要是利用

information_schema.statistics的CARDINALITY(索引中唯一值数量的估计)和information_schema.tables的Table_rows(表里所存多少行数据)计算了比例。唯一性比例越高越好。

查询结果把唯一性比例低的排在前面。统计的结果要进行分析有些字段例如分表分库的sharding字段本来的区分度就不是很高,也无法调整。特别要留意那些枚举值,用这些值去做索引往往起不到作用,但也要具体分析,特定的枚举值出现的几率比较小,业务上对相应值查询又比较频繁的话可以保留。总之这类索引要结合SQL进行分析。

本文网址:https://www.shengjiangju.com/wlyx/488.html
版权声明: 1.本站内容部分为潍坊晟匠聚网络编辑原创文章,部分来源于网络,如需转载,请标注来源网站名字和文章出处链接。 2.本站内容为传递信息使用,仅供参考,也不构成相关建议。 3.部分内容和图片来源于网络,如有侵权,请联系我们处理。

相关资讯

我有建站需求

captcha

*请正确填写需求信息,我们最快会在1小时内与您取得联系!
注:如果想获取实时咨询报价,您可以拔打业务经理手机 13356701695或扫码添加客户经理微信咨询。

Copyright © 2022 潍坊晟匠聚网络   版权所有  All Rights Reserved 备案号:鲁ICP备2022030645号-1 网站地图 企业分站
提供网站建设,网站制作,seo关键词排名优化,专业建站公司价格实惠,业务涵盖潍坊市、潍城区、寒亭区、坊子区、奎文区、高新区、滨海区、峡山区、保税区、临朐县、昌乐县、青州市、诸城市、寿光市、安丘市、高密市、昌邑市等地区
本站内容部分均来自网络,如有侵权嫌疑,请作者本人留言或直接联系管理员,本网站看到留言后将尽快审核删除!