mysql数据库创建快递_Mysql索引

六、mysql索引

注意:创建索引的基本原则:

1、索引要建在使用较多的字段上

2、尽量不要在相同值较多的字段上建立索引,比如姓名

3、对于经常进行数据存取的字段不要建立索引

4、对于有外键引用的表,在主键和外键上建立索引

FB9BC429959D4FE8BAE7482AE08A82C4

索引类型:

1、普通索引

mysql> create index ipaddr_idx(索引名) on accesslog(ipaddr); \\添加索引 (accesslog表 在test数据库中)

mysql> alter table accesslog add index ipaddr_idx (ipaddr); \\添加索引

mysql> create table student(id int primary key,name varchar(30),sex enum('man','woman'),score float(4,1)

,addr varchar(60),index addr_idx (addr)); \\添加索引

mysql> drop index ipaddr_idx on accesslog;  \\删除索引

练习:从weblog表中查找ip地址为192.168.20.171的所有行,观察创建索引前和创建索引后的区别

mysql> select * from accesslog where ipaddr='192.168.20.171';

9A50614DB8B840AC9697AFA2E738D1BE

mysql> create index ipaddr_idx on accesslog(ipaddr);

mysql> select * from accesslog where ipaddr='192.168.20.171';

0E18A1A0A9D34801922716CFD5ECE833

由此可知,建立索引后 , 提高了查询速度

C55680C422C24C4EBA9E235104357F20

练习:观察下列查询在没有建立索引前所使用的时间和索引后所使用的时间,建立索引后下列哪些查询没有使用索引。

(1)在employees表中查询first_name以Mary开头的所有员工

(2)在employees表中查询first_name包含mar字符的员工

(3)在employees表中查询last_name以He开头的员工

(4)在employees表中查询last_name包含oo字符的员工

(1)mysql> select * from employees where first_name  regexp '^Mary';

> select * from employees where first_name  like 'Mary%';      使用了索引。

mysql> create   index flname_idx on employees (first_name,last_name);

mysql> explain select * from employees where first_name  like 'Mary%'\G; 查看是否使用了索引。

(2)mysql> select * from employees where first_name regexp 'mar';

select * from employees where first_name  like '%Mary%';   没有使用索引。

(3)mysql> select * from employees where last_name regexp '^He';   没有

(4)mysql> select * from employees where last_name regexp 'oo';   没有

mysql> select * from employees where match(first_name,last_name) against('Mary');

2、唯一索引 (字段值必须唯一,但允许有空值)

mysql> create unique index id_idx on weblog(id);

3、全文索引(用于在char,varchar,text等文本类型的字段中)

mysql> create fulltext index flname_idx on employees(first_name,last_name);

4、聚集索引

对于innodb存储引擎

如果表里面包含有主键,直接使用主键做聚集索引

如果没有主键,则将第一个包含not null属性的unique index列作为聚集索引

如果前两个条件都不满足,则mysql会自动增加一个autoincrement的列作为聚集索引

5、空间索引

索引使用总结:

(1)索引一般在,<=,>=,between,in以及某些情况下的like等操作符上才能使用

(2)如果使用like,则%或_不能位于开头

(3)如果使用多列索引,则第一列必须包含匹配的条件

(4)如果在列上使用函数则不能使用索引

9EA4ED6D37434C1EB430DD40E4C84046

3FB91ABD518846BFB60C39EE724167B8

索引的缺点:

创建索引会占用磁盘空间,尤其是表很大且创建索引的字段值比较多且内容比较长的话更是如此

对于写入操作,如insert、update、delete等操作,索引会降低它们的速度

已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
<p style="text-align:left;"> <span> </span> </p> <p class="ql-long-24357476" style="font-size:11pt;color:#494949;"> <span style="font-family:"color:#E53333;font-size:14px;background-color:#FFFFFF;line-height:24px;"><span style="line-height:24px;">限时福利1:</span></span><span style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;">购课进答疑群专享柳峰(刘运强)老师答疑服务。</span> </p> <p> <br /> </p> <p class="ql-long-24357476"> <strong><span style="color:#337FE5;font-size:14px;">为什么说每一个程序员都应该学习MySQL?</span></strong> </p> <p class="ql-long-24357476"> <span style="font-size:14px;">根据《2019-2020年中国开发者调查报告》显示,超83%的开发者都在使用MySQL数据库。</span> </p> <p class="ql-long-24357476"> <img src="https://img-bss.csdn.net/202003301212574051.png" alt="" /> </p> <p class="ql-long-24357476"> <span style="font-size:14px;">使用量大同时,掌握MySQL早已是运维、DBA的必备技能,甚至部分IT开发岗位也要求对数据库使用和原理有深入的了解和掌握。</span><br /> <br /> <span style="font-size:14px;">学习编程,你可能会犹豫选择 C++ 还是 Java;入门数据科学,你可能会纠结于选择 Python 还是 R;但无论如何, MySQL 都是 IT 从业人员不可或缺的技能!</span> </p> <span></span> <p> <br /> </p> <p> <span> </span> </p> <h3 class="ql-long-26664262"> <p style="font-size:12pt;"> <strong class="ql-author-26664262 ql-size-14"><span style="font-size:14px;color:#337FE5;">【课程设计】</span></strong> </p> <p style="font-size:12pt;"> <span style="color:#494949;font-weight:normal;"><br /> </span> </p> <p style="font-size:12pt;"> <span style="color:#494949;font-weight:normal;font-size:14px;">在本课程中,刘运强老师会结合自己十多年来对MySQL的心得体会,通过课程给你分享一条高效的MySQL入门捷径,让学员少走弯路,彻底搞懂MySQL。</span> </p> <p style="font-size:12pt;"> <span style="color:#494949;font-weight:normal;"><br /> </span> </p> <p style="font-size:12pt;"> <span style="font-weight:normal;font-size:14px;">本课程包含3大模块:</span><span style="font-weight:normal;font-size:14px;"> </span> </p> </h3> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <strong class="ql-author-26664262"><span style="font-size:14px;">一、基础篇:</span></strong> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <span class="ql-author-26664262" style="font-size:14px;">主要以最新的MySQL8.0安装为例帮助学员解决安装与配置MySQL的问题,并对MySQL8.0的新特性做一定介绍,为后续的课程展开做好环境部署。</span> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <span class="ql-author-26664262" style="font-size:14px;"><br /> </span> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <strong class="ql-author-26664262"><span style="font-size:14px;">二、SQL语言篇</span></strong><span class="ql-author-26664262" style="font-size:14px;">:</span> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <span class="ql-author-26664262" style="font-size:14px;">本篇主要讲解SQL语言的四大部分数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL,</span><span style="font-size:14px;">学会熟练对库表进行增删改查等必备技能。</span> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <span style="font-size:14px;"><br /> </span> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <strong class="ql-author-26664262"><span style="font-size:14px;">三、MySQL进阶篇</span></strong><span style="font-size:14px;">:</span> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <span style="font-size:14px;">本篇可以帮助学员更加高效的管理线上的MySQL数据库;具备MySQL的日常运维能力,语句调优、备份恢复等思路。</span> </p> <span><span> <p style="font-size:11pt;color:#494949;"> <span style="font-size:14px;"> </span><img src="https://img-bss.csdn.net/202004220208351273.png" alt="" /> </p> </span></span>
<p style="font-size:14px;color:#333333;"> <strong><span style="font-size:16px;">课程简介</span></strong> </p> <p style="font-size:14px;color:#333333;"> MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(关系数据库管理系统)应用软件之一, 广泛的应用在各个领域。 </p> <p style="font-size:14px;color:#333333;"> 本课程作为MySQL高级课程, 主要讲解了MySQL中的视图/存储过程/触发器/索引等对象的使用、常见的SQL语句优化的技巧 、应用优化、数据库优化、数据库日志等方面的知识,并通过综合案例,对课程中的知识进行一个整合应用。本课程旨在通过MySQL高级部分内容,可以在满足现有业务需求基础上,对MySQL底层的体系结构, 及底层的优化有一个深入的理解 , 对系统的整体性能进行提升。 </p> <p style="font-size:14px;color:#333333;"> <strong>简短简介 : </strong> </p> <p style="font-size:14px;color:#333333;"> <span></span>MySQL 是最流行的关系型数据库之一,广泛的应用在各个领域。本课程主要讲解了MySQL中的常见对象,并详细讲解了优化策略,并通过案例使我们深入理解SQL优化策略,学习完本课程使我们能够独立自主的完成各种SQL优化,提升系统的性能。 </p> <p style="font-size:14px;color:#333333;"> <strong><span style="font-size:16px;">适应人群</span></strong> </p> <p style="font-size:14px;color:#333333;"> <span></span>具有一定MySQL基础, 对数据库的高级知识、优化方面感兴趣的学员。 </p> <p style="font-size:14px;color:#333333;"> <strong><span style="font-size:16px;">课程亮点</span></strong> </p> <p style="font-size:14px;color:#333333;"> <span></span>本课程系统的讲解了SQL优化的思路和实用技巧,并讲解了数据库方面的优化内容, 全方面的对MySQL数据库进行优化。 </p>
<span style="font-size:14px;">一、课程简介</span><br /><p> <span style="font-size:14px;"><span style="color:#E56600;">『Java学习指南系列』</span>的第8篇教程 ,介绍MySQL数据库的安装使用,常见SQL语句,以及使用JDBC进行数据库开发的技术。</span> </p> <p> <span style="font-size:14px;"><br /></span> </p> <p> <span style="font-size:14px;">二、主要内容 </span> </p> <p> <span style="font-size:14px;">* MySQL的安装和使用</span> </p> <p> <span style="font-size:14px;">* 常用SQL语句,增删改查操作</span> </p> <p> <span style="font-size:14px;">* 高级SQL查询,多表关联查询</span> </p> <p> <span style="font-size:14px;">* 表的设计:主键,索引,内连接外连接,外键</span><span style="font-size:14px;"> </span> </p> <p> <span style="font-size:14px;">* MySQL配置管理: 用户授权,远程访问,备份还原</span> </p> <p> <span style="font-size:14px;">* JDBC连接: 使用JDBC连接数据库,执行增删改查操作</span> </p> <span style="font-size:14px;">* 基于JDBC数据库框架的设计(afsql框架),以此阐述数据库框架的设计原理</span><br /><p> <span style="font-size:14px;">* JDBC连接池,JDBC数据库开发的必备技术</span> </p> <p> <span style="font-size:14px;">* 数据库事务 Transaction 的支持 </span> </p> <p> <span style="font-size:14px;">* SQL的转义,数据库注入攻击的预防</span> </p> <p> <span style="font-size:14px;">* 数据库的动态访问:获取数据库和表的结构,根据表的结构自动生成POJO</span> </p> <p> <span style="font-size:14px;"><br /></span> </p> <p> <span style="font-size:14px;">三、课程体系</span> </p> <p> <span style="font-size:14px;color:#E56600;">〖Java学习指南</span><span style="font-size:14px;color:#E56600;">系列</span><span style="font-size:14px;"><span style="color:#E56600;">〗</span>:包含入门与进阶语法,Swing桌面开发,安卓开发,JavaFX开发,网络通信Socket,数据结构与算法等课程。</span> </p> <p> <span style="font-size:14px;color:#E56600;">〖网站开发</span><span style="font-size:14px;color:#E56600;">系列</span><span style="font-size:14px;"><span style="color:#E56600;">〗</span>:包含网页基础、网站入门、数据库、网站中级、FreeMarker、网站高级、项目应用、MyBatis、Redis等课程。</span> </p>
<div style="color:#333333;font-size:14px;"> <span style="color:#000000;font-size:10.5pt;">MySQL是当前世界上应用最广泛的关系型数据库。</span><span style="color:#000000;font-size:10.5pt;">十年前错过了Oracle,十年后就不要再错过MySQL,在这互联网盛世的时代,MySQL DBA供不应求,同等条件下薪水已远远超过了Oracle DBA。</span><span style="color:#000000;font-size:10.5pt;">想要成为高级的MySQL DBA,除了自身努力之外,还需要一份"靠谱"的视频教程。由黑马程序员Linux云计算+运维开发学科精心打造《</span><span style="font-size:10.5pt;">MySQL DBA数据库运维高薪必备教程</span><span style="color:#000000;font-size:10.5pt;">》,让你从数据库小白成长为高薪的MySQL DBA大神。</span> </div> <div style="color:#333333;font-size:14px;"> <span style="color:#000000;">    </span><span style="color:#000000;font-size:10.5pt;">   大纲:</span> </div> <div style="color:#333333;font-size:14px;"> <span style="color:#000000;">    </span><span style="color:#000000;font-size:10.5pt;">   1、MySQL数据库概述</span> </div> <div style="color:#333333;font-size:14px;"> <span style="color:#000000;">    </span><span style="color:#000000;font-size:10.5pt;">   2、Linux系统环境准备</span> </div> <div style="color:#333333;font-size:14px;"> <span style="color:#000000;">    </span><span style="color:#000000;font-size:10.5pt;">   3、MySQL的三种安装方式(YUM、GLIBC、源码)</span> </div> <div style="color:#333333;font-size:14px;"> <span style="color:#000000;">    </span><span style="color:#000000;font-size:10.5pt;">   4、MySQL数据库操纵语言之SQL</span> </div> <div style="color:#333333;font-size:14px;"> <span style="color:#000000;">    </span><span style="color:#000000;font-size:10.5pt;">   5、MySQL备份与还原(逻辑备份)</span> </div> <div style="color:#333333;font-size:14px;"> <span style="color:#000000;">    </span><span style="color:#000000;font-size:10.5pt;">   6、</span><span style="color:#000000;font-size:10.5pt;">Percona XtraBackup专业备份工具(全量备份与增量备份)</span> </div> <div style="color:#333333;font-size:14px;"> <span style="color:#000000;">    </span><span style="color:#000000;font-size:10.5pt;">   7、MySQL主从复制(AB复制、基于GTIDs的主从复制实践)</span> </div> <div style="color:#333333;font-size:14px;"> <span style="color:#000000;">    </span><span style="color:#000000;font-size:10.5pt;">   8、MySQL半同步复制</span> </div> <p style="color:#333333;font-size:14px;"> <span style="color:#000000;">    </span><span style="color:#000000;font-size:10.5pt;">   9、MHA(数据库高可用解决方案)</span> </p> <p style="color:#333333;font-size:14px;"> <span style="color:#000000;font-size:10.5pt;">       ......<br /></span> </p> <p style="color:#333333;font-size:14px;"> <span style="color:#000000;font-size:10.5pt;"><br /></span> </p>
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页