Update ch01: 初识数据库.md

This commit is contained in:
mba1398
2021-07-03 11:38:59 +08:00
committed by GitHub
parent 976e1b8f4c
commit 51db67d4ea

View File

@@ -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)
```
- 索引分类
# 练习题