Update ch01: 初识数据库.md
This commit is contained in:
@@ -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)
|
||||
```
|
||||
|
||||
|
||||
|
||||
- 索引分类
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# 练习题
|
||||
|
||||
|
||||
Reference in New Issue
Block a user