MySQL基础教程---mysql索引

Posted 敲代码的xiaolang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL基础教程---mysql索引相关的知识,希望对你有一定的参考价值。

文章目录

一、索引是什么?

mysql索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。
对于海量表,我们如果没有索引,当查询某一个数据的时候,会耗费大量的时间,如果我们使用索引,就可以极大程度的提高我们的查询速度。当然索引也有一些不足之处,比如磁盘的占用,对dml(update、delete、insert)语句的效率影响。

我们来看一看索引为什么会降低查询速度:

本质来说,索引采用的查找方式是二分查找。

二、索引基本操作

-- 创建索引
CREATE TABLE t25 (
	id INT ,
	`name` VARCHAR(32));
	
-- 查询表是否有索引
SHOW INDEXES FROM t25;
-- 添加索引
-- 添加唯一索引 
CREATE UNIQUE INDEX id_index ON t25 (id);
-- 添加普通索引方式1
CREATE INDEX id_index ON t25 (id);
-- 如何选择 
-- 1. 如果某列的值,是不会重复的,则优先考虑使用unique索引, 否则使用普通索引

-- 添加普通索引方式2
ALTER TABLE t25 ADD INDEX id_index (id)

-- 添加主键索引
CREATE TABLE t26 (
	id INT ,
	`name` VARCHAR(32));
ALTER TABLE t26 ADD PRIMARY KEY (id)

SHOW INDEX FROM t25

-- 删除索引
DROP INDEX id_index ON t25
-- 删除主键索引
ALTER TABLE t26 DROP PRIMARY KEY


-- 修改索引 , 先删除,在添加新的索引

以上是关于MySQL基础教程---mysql索引的主要内容,如果未能解决你的问题,请参考以下文章

Python基础教程之操作MySql数据库

数据库基础:讲解MySQL索引的概念及数据库索引的应用[1]

MySQL完整教程

MySQL完整教程(共8章)

后端开发MySQL基础知识 - day4笔记

mysql analyze和optimize