当前位置: 首页 > news >正文

MySQL——索引(三)删除索引

        由于索引会占用一定的磁盘空间,因此,为了避免影响数据库性能,应该及时删除不再使用的索引。删除索引的方式有两种,具体如下。

1.使用 ALTER TABLE 删除索引

        使用 ALTER TABLE 删除索引的基本语法格式如下所示:

ALTER TABLE 表名 DROP INDEX 索引名

        例如,删除表 book 中名称为 fulltextidx 的全文索引。在删除索引之前,首先通过 SHOW CREATE TABLE 语句査看 book 表,结果如下

mysql> show create table book \G
*************************** 1. row ***************************Table: book
Create Table: CREATE TABLE `book` (`bookid` int NOT NULL,`bookname` varchar(255) NOT NULL,`authors` varchar(255) NOT NULL,`info` varchar(255) DEFAULT NULL,`comment` varchar(255) DEFAULT NULL,`publicyear` year NOT NULL,FULLTEXT KEY `fulltextidx` (`info`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.01 sec)

        从上述结果可以看出,表 book 中存在一个名称为 fulltextidx 的全文索引,要想删除该索引,可以使用以下 SQL 语句:

mysql> ALTER TABLE book DROP INDEX fulltextidx;
Query OK, 0 rows affected (0.04 sec)
Records: 0  Duplicates: 0  Warnings: 0

        上述 SQL语句执行后,使用 SHOW CREATE TABLE 语句查看表的结构,结果如下所示:

mysql> show create table book \G
*************************** 1. row ***************************Table: book
Create Table: CREATE TABLE `book` (`bookid` int NOT NULL,`bookname` varchar(255) NOT NULL,`authors` varchar(255) NOT NULL,`info` varchar(255) DEFAULT NULL,`comment` varchar(255) DEFAULT NULL,`publicyear` year NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.00 sec)

        由此可以看出,book 表中名称为 fulltextidx 的索引被成功删除了。

2.使用 DROP INDEX删除索引

使用 DROP INDEX 删除索引的基本语法格式如下所示:

DROP INDEX 索引名 ON 表名;

        例如,删除表 t8 中名称为 spatidx 的空间索引,SQL 语句如下:

DROP INDEX spatidx ON t8;

        上述 SQL代码执行后,使用 SHOW CREATE TABLE 语句查看表的结构,结果如下所示:

mysql> show create table t8 \G
*************************** 1. row ***************************Table: t8
Create Table: CREATE TABLE `t8` (`space` geometry NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.00 sec)

        由此可以看出,表 t8 中名称为 spatidx 的索引被成功删除了。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【Nacos无压力源码领读】(二) 集成 LoadBalancer 与 OpenFeign
  • flink1.18 编译遇到的问题
  • AI入门指南(二):算法、训练、模型、大模型是什么?
  • 【Linux】Ubuntu20.04系统中能在命令行ping通百度等网站,而在浏览器中不能上网的问题解决方法
  • OracleDatabaseException:sequence is not exist
  • 2.类和对象(上)
  • 009 | 上证50ETF基金数据分析及预测
  • Golang编译-如何忽略某些文件去编译
  • Redis 缓存击穿、穿透、雪崩
  • 8月6日Spring Boot学习笔记
  • 三体系认证:企业发展的战略必选项
  • 【自动驾驶】ubuntu server安装桌面版
  • Selenium + Python 自动化测试06(frame操作方法)
  • 【vulnhub】Wakanda :1靶机
  • 《向量数据库指南》——开源社区与商业化的平衡
  • [case10]使用RSQL实现端到端的动态查询
  • 【Amaple教程】5. 插件
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • interface和setter,getter
  • Javascript编码规范
  • JavaScript中的对象个人分享
  • Linux链接文件
  • Logstash 参考指南(目录)
  • MobX
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • SAP云平台里Global Account和Sub Account的关系
  • 初探 Vue 生命周期和钩子函数
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 复杂数据处理
  • 树莓派 - 使用须知
  • 用jquery写贪吃蛇
  • 如何用纯 CSS 创作一个货车 loader
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​Java并发新构件之Exchanger
  • # windows 安装 mysql 显示 no packages found 解决方法
  • #{}和${}的区别?
  • #162 (Div. 2)
  • (1)(1.13) SiK无线电高级配置(五)
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (C11) 泛型表达式
  • (MTK)java文件添加简单接口并配置相应的SELinux avc 权限笔记2
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (十八)三元表达式和列表解析
  • (一)模式识别——基于SVM的道路分割实验(附资源)
  • (原)本想说脏话,奈何已放下
  • (原創) 未来三学期想要修的课 (日記)
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • *算法训练(leetcode)第四十七天 | 并查集理论基础、107. 寻找存在的路径
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .net 按比例显示图片的缩略图
  • .net知识和学习方法系列(二十一)CLR-枚举
  • @EnableWebSecurity 注解的用途及适用场景