删除唯一索引的方法和删除普通索引的方法一样

主键索引

SQL学习day8_MySQL

组合索引

SQL学习day8_全文索引_02

colum 列名

上图是创建普通组合索引

若想创建唯一组合索引,就是creat unique index  但是列名便会存在要求:两个或者多个列名之间不能完全一样

比如:1 a 和 1 b 和 2 a都可以,但是不能再出现1 a

SQL学习day8_数据_03

 最左原则

在MySQL中,最左原则,是指在查询语句中使用了多个列作为联合索引的一部分时,索引将首先使用最左边的列进行搜索,然后依次向右移动。这意味着如果你在查询中只使用了联合索引的前面一部分列,那么索引可以被有效地利用。但是如果你的查询没有使用索引的最左边的列,那么索引将无法被利用,数据库系统将不得不进行全表扫描,这可能会导致查询效率下降

全文索引

SQL学习day8_数据_04

不同的SQL版本,能实现的功能也不相同

SQL学习day8_全文索引_05

SQL学习day8_MySQL_06

创建方法:

SQL学习day8_数据_07

还可以在创建表时添加全文索引,但是这样的话会导致插入数据时效率较低

应该使用,修改表结构,或者创建全文索引

即 creat fulltext index 索引名 on 表名(列名)

alter table 表名 add fulltext 索引名(列名)

全文索引的使用

SQL学习day8_数据_08

SQL学习day8_数据_09

空间索引,了解即可

SQL学习day8_MySQL_10

空间索引的类型

SQL学习day8_全文索引_11

索引的原理

SQL学习day8_全文索引_12

Hash算法

SQL学习day8_全文索引_13

二叉树

SQL学习day8_数据_14

平衡二叉树

SQL学习day8_全文索引_15

BTREE

SQL学习day8_数据_16

总结:

索引的优缺点

SQL学习day8_MySQL_17

创建索引的原则

SQL学习day8_全文索引_18

MySQL的储存引擎

SQL学习day8_数据_19

储存引擎的分类

SQL学习day8_全文索引_20

SQL学习day8_MySQL_21

SQL学习day8_MySQL_22

SQL中的事务

SQL学习day8_MySQL_23

事务操作

SQL学习day8_数据_24

SQL学习day8_MySQL_25

SQL学习day8_全文索引_26

提交事务后,才能对数据进行更新,否则是无效操作

select查询的是内存中数据的变化,而commit中的数据是在硬盘上,所以使用前者查询数据的时候,是同步更新的,而后者在查询表界面的数据是在commit后才更新

此时,使用回滚函数,rollback,再使用select时的结果就是未更新的状态了

事务的特性

SQL学习day8_全文索引_27