首页新闻动态正文

mysql的常用索引【黑马PHP培训】

更新时间:2019年08月01日 19时21分40秒 来源:黑马程序员论坛

黑马中级程序员课程

[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

推荐了解热门学科

java培训 Python人工智能 Web前端培训 PHP培训
区块链培训 影视制作培训 C++培训 产品经理培训
UI设计培训 新媒体培训 软件测试培训 Linux运维
大数据培训 智能机器人软件开发




传智播客是一家致力于培养高素质软件开发人才的科技公司“黑马程序员”是传智播客旗下高端IT教育品牌。自“黑马程序员”成立以来,教学研发团队一直致力于打造精品课程资源,不断在产、学、研3个层面创新自己的执教理念与教学方针,并集中“黑马程序员”的优势力量,针对性地出版了计算机系列教材50多册,制作教学视频数+套,发表各类技术文章数百篇。

传智播客从未停止思考

传智播客副总裁毕向东在2019IT培训行业变革大会提到,“传智播客意识到企业的用人需求已经从初级程序员升级到中高级程序员,具备多领域、多行业项目经验的人才成为企业用人的首选。”

中级程序员和初级程序员的差别在哪里?
项目经验。毕向东表示,“中级程序员和初级程序员最大的差别在于中级程序员比初级程序员多了三四年的工作经验,从而多出了更多的项目经验。“为此,传智播客研究院引进曾在知名IT企业如阿里、IBM就职的高级技术专家,集中研发面向中高级程序员的课程,用以满足企业用人需求,尽快补全IT行业所需的人才缺口。

何为中高级程序员课程?

传智播客进行了定义。中高级程序员课程,是在当前主流的初级程序员课程的基础上,增加多领域多行业的含金量项目,从技术的广度和深度上进行拓展“我们希望用5年的时间,打造上百个高含金量的项目,覆盖主流的32个行业。”传智播客课程研发总监于洋表示。




黑马程序员热门视频教程

Python入门教程完整版(懂中文就能学会) 零起点打开Java世界的大门
C++| 匠心之作 从0到1入门学编程 PHP|零基础入门开发者编程核心技术
Web前端入门教程_Web前端html+css+JavaScript 软件测试入门到精通


在线咨询 我要报名
和我们在线交谈!