mysql表添加索引

文章目录
      • 1.添加普通索引(INDEX)
      • [2.添加唯一索引(UNIQUE INDEX)](#2.添加唯一索引(UNIQUE INDEX))
      • [3.添加主键索引(PRIMARY KEY)](#3.添加主键索引(PRIMARY KEY))
      • [4.添加全文索引(FULLTEXT INDEX)](#4.添加全文索引(FULLTEXT INDEX))

在 MySQL 中,可以使用 ALTER TABLE 语句来为表添加索引。索引可以提高查询性能。以下是几种常见的添加索引的方式:

1.添加普通索引(INDEX)

语法:

复制代码
ALTER TABLE table_name ADD INDEX index_name(column_list);

例如,为名为 users 的表的 username 字段添加一个普通索引:

复制代码
ALTER TABLE users ADD INDEX idx_username(username);
2.添加唯一索引(UNIQUE INDEX)

确保索引列的值是唯一的。

语法:

复制代码
ALTER TABLE table_name ADD UNIQUE INDEX index_name(column_list);

例如,为 users 表的 email 字段添加唯一索引:

复制代码
ALTER TABLE users ADD UNIQUE INDEX idx_email(email);
3.添加主键索引(PRIMARY KEY)

一个表只能有一个主键索引,用于唯一标识表中的每一行。如果表中没有定义主键,可以使用 ALTER TABLE 添加。

语法:

复制代码
ALTER TABLE table_name ADD PRIMARY KEY(column_list);

例如,为 users 表的 id 字段添加主键索引:

复制代码
ALTER TABLE users ADD PRIMARY KEY(id);
4.添加全文索引(FULLTEXT INDEX)

用于对文本类型的列进行全文搜索。

语法:

复制代码
ALTER TABLE table_name ADD FULLTEXT INDEX index_name(column_list);

例如,为 articles 表的 content 字段添加全文索引:

复制代码
ALTER TABLE articles ADD FULLTEXT INDEX idx_content(content);

在添加索引时,需要考虑以下几点:

  • 索引会占用额外的存储空间。
  • 过多的索引可能会降低数据插入、更新和删除的性能。
  • 根据实际的查询需求选择合适的索引类型和列。

希望本文对你有所帮助!如果你有任何问题或建议,欢迎在评论区留言。

关注我看更多有意思的文章哦!???

相关推荐
其实防守也摸鱼9 小时前
权限提升与横向移动:从内网渗透到域控的完整技术图谱
运维·服务器·数据库·安全·github·copilot·渗透
人生百态,人生如梦9 小时前
每日论文解读(9.1)——ReToolSQL:面向鲁棒Text-to-SQL的Agentic强化学习与工具增强两阶段训练框架
数据库·sql
DevOpenClub10 小时前
网页采集如何稳定输出结构化数据:JSON、链接与快照三阶段流水线
数据库·json·api
其实防守也摸鱼10 小时前
免杀与持久化入门:从载荷免杀到隐蔽通道的完整指南
运维·服务器·数据库·安全·github·copilot·渗透
SelectDB10 小时前
统一全文检索与 SQL 分析:Apache Doris 日志分析实践
运维·数据库·掘金技术征文
麻瓜code10 小时前
【MySQL】SQL优化实战:从慢查询定位到查询改写
数据库·sql·mysql
蓝鸟197411 小时前
Oracle HIS业务视图优化实战|VI_BQ_YWTX11从高耗费到秒级响应
数据库·oracle·his数据库调优·复合索引踩坑·is null索引问题·ql视图优化
数智启示录11 小时前
Apache Doris 4.0.8 混合检索实战(第 5 篇):三套系统只返回两条结果,一条 SQL 如何避开交集丢失
大数据·数据库·经验分享·sql·面试
今天AI了吗11 小时前
大模型技术全景(一):AI、机器学习、深度学习,三者的关系到底是什么?一文搞懂
数据库·人工智能·python·sql·深度学习·机器学习·rust
这个DBA有点耶11 小时前
RANGE/LIST/HASH/二级分区怎么选?分区表适用边界与隐藏代价
数据库·mysql·dba