A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 冯程程 中级黑马   /  2019-2-19 14:52  /  1851 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

[size=22.0000pt][size=16.0000pt] 1 为什么要学索引

分析: 一般的应用系统对比数据库的读写比例在10:1左右,而且插入操作和更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,所以查询语句的优化显然是重中之重.
[size=16.0000pt] 2 什么是索引
索引相当于目录结构,其内部有一定的算法,可以快速的帮我们定位到,相应的数据位置
[size=16.0000pt] 3 索引的好处
当数据比较多的时候可以加快查询的速度.
[size=16.0000pt] 4 使用索引的原则

在经常需要搜索的列上,可以加快搜索的速度;
在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度;
在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以 利用索引的排序,加快排序查询时间;
在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度。
5 索引的类型
primary key  主键索引保证数据的唯一性,而且不能为空,唯一标识数据库表中的每条记录
unique       唯一索引  防止数据出现重复
index(key)   普通索引   仅仅只是为了提高查询的速度
fulltext      全文索引(不支持中文)
[size=16.0000pt] 5 索引的使用[size=14.0000pt]Ø 建表的时候创建索引
create table study(
id mediumint not null auto_increment,
sn char(10) not null default 0 comment '学号',
xing varchar(10) not null default '' comment '',
ming varchar(10) not null default '' comment '',
primary key(id),
unique sn(sn),
index x_m(xing,ming)
)engine=MyISAM default charset=utf8;
查看创建成功的表的结构
show create table study \G
使用desc查看表的结构
[size=14.0000pt]Ø 修改表的结构增加索引
除了主键索引,其他索引设置的同时可以给其起一个”名称”,名称不设置与该索引字段名称一致
给存在的数据表增加索引
alter table 表名 add        primary key id;
alter table 表名 add        unique key [索引名称]  (字段);
alter table 表名 add        key  [索引名称]  (字段);
alter table 表名 add        fulltext key  [索引名称]  (字段);
这里的索引名称都是可以不写的,那么默认就是字段的名称.
a 先添加一张表
create table study1(
id mediumint not null,
sn char(10) not null default 0 comment '学号',
xing varchar(10) not null default '' comment '',
ming varchar(10) not null default '' comment ''
)engine=myisam default charset='utf8';
b 为已经创建好的表增加索引
alter table study1 add primary key(id);   // 主键索引
alter table study1 add unique sn(sn);     // 给学号增加唯一索引
alter table study1 add index x_m(xing,ming);  // xingming添加复合索引
c 查看已经建立好的索引:
show create table stuy1/G

3 个回复

倒序浏览
回复 使用道具 举报
今天也要加油鸭
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马