MySQL学习(十五)

Posted 但见光阴流似箭

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL学习(十五)相关的知识,希望对你有一定的参考价值。

索引的概念

索引是数据的目录,能快速定位数据的位置。索引提高了查询速度,降低了增删改的速度。并非加的越多越好。
一般在查询频率高的列上加,而且在重复度低的列上加效果更好。如在性别列上不用加索引,但是身份证号列上就可以加索引。
key 普通索引,就是为了加快查询速度。
unique key 唯一索引 加快速度并且约束数据。
primary key 主键索引
fulltext 全文索引

全文索引在中文情况下几乎无效。要分词+索引,一般用第三方解决方案,如sphinx

create table t16
(
    id int,
    name char(10),
	email char(20),
	primary key(id), #主键索引
	key name(name),
	unique key email(email)
);

索引长度:建索引时,可以只索引列的前一部分的内容,比如前10个字符
如 unique key email(email(10))

create table t17
(
    id int,
    name char(10),
	email char(20),
	primary key(id), #主键索引
	key name(name),
	unique key email(email(10))
);

多列索引

create table t18
(
    xing char(2),
	ming char(10), 
	key xm(xing,ming)
);

创建表,插入数据

mysql> insert into t18 values
    -> (\'朱\',\'元璋\');
Query OK, 1 row affected (0.52 sec)


上面两种情况下,索引都可以发挥作用。

上面这种情况,索引没有发挥作用。
左前缀规则,索引可以发挥作用。

索引的操作

查看 show index from 表名
删除 alter table 表名 drop index 表名
或 drop index 索引名 on 表名
添加索引
alter table 表名 add [index/unique] 索引名(列名);
添加主键索引

以上是关于MySQL学习(十五)的主要内容,如果未能解决你的问题,请参考以下文章

零基础带你学习MySQL—日期函数(十五)

Java基础学习笔记二十五 MySQL

零基础带你学习MySQL—unique 唯一(二十五)

MySQL学习(十五)

Linux学习总结(四十五)mysql 基本操作 上篇

Java学习总结(十五)——MySQL数据库(上)—增,删,改与部分查询语句