From 51db67d4ea2a67a69401d2d7cd0b53d1c7e57998 Mon Sep 17 00:00:00 2001 From: mba1398 <26516464+mba1398@users.noreply.github.com> Date: Sat, 3 Jul 2021 11:38:59 +0800 Subject: [PATCH] =?UTF-8?q?Update=20ch01:=20=E5=88=9D=E8=AF=86=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ch01: 初识数据库.md | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/ch01: 初识数据库.md b/ch01: 初识数据库.md index 888c8b3..1f77296 100644 --- a/ch01: 初识数据库.md +++ b/ch01: 初识数据库.md @@ -369,6 +369,47 @@ INSERT INTO product VALUES('0007', '擦菜板', '厨房用具', 880, 790, '2008- INSERT INTO product VALUES('0008', '圆珠笔', '办公用品', 100, NULL, '2009-11-11'); COMMIT; ``` +### 1.2.9 索引 + +- 索引的作用 + +MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。 + +打个比方,如果合理的设计且使用索引的 MySQL 是一辆兰博基尼的话,那么没有设计和使用索引的 MySQL 就是一个人力三轮车。 + +拿汉语字典的目录页(索引)打比方,我们可以按拼音、笔画、偏旁部首等排序的目录(索引)快速查找到需要的字。 + +索引创建了一种有序的数据结构,采用二分法搜索数据时,其复杂度为 log2(N),1000多万的数据只要搜索23次,其效率是非常高效的。 + +- 如何创建索引 +创建表时可以直接创建索引,语法如下: +```sql +CREATE TABLE mytable( + +ID INT NOT NULL, + +username VARCHAR(16) NOT NULL, + +INDEX [indexName] (username(length)) + +); + +``` +也可以使用如下语句创建: +```sql +CREATE INDEX indexName ON table_name (column_name) + +ALTER table tableName ADD INDEX indexName(columnName) +``` + + + +- 索引分类 + + + + + # 练习题