挑战三天刷完-MySQL数据库优化(第一天)
此次视频看的是B站上面黑马程序员的数据库优化,跟着视频学习,该博客用于做笔记和自己看视频的思考。
一、Linux上安装数据库
按照步骤一步一步下载,出现了这个错误
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
网上搜了下,然后照着这个网站的解决方法做了下
linux下yum安装时出现Loaded plugins: fastestmirror解决办法_欢迎来到运维联盟的技术博客_51CTO博客
之后没有出现上面的错误了,但还是有错误

发现这个好像是版本不对的原因,因为事情很多,时间不够,所以我就不深究了,用了其他方案安装依赖包了
CentOS7安装MySQL:使用RPM安装包方式(推荐) - 简书 (jianshu.com)

这个语句直接安装了。
之后查看随机密码
登录后修改密码即可![]()
授权远程登陆
grant all privileges on *.* to 'root' @'%' identified by 'itcast';
测试时密码太简单可以使用
远程连接出现了问题
找不到mysql,用whereis mysql 找
Navicat远程连接阿里云上数据库时,出现错误:1045-Access denied for user 'root'@'localhost'解决方法_Williamlmx的博客-CSDN博客
二、索引
索引(index)是帮助MySQL高效获取数据的数据结构(有序)。
索引的优势和劣势
优势
1) 类似于书籍的目录索引,提高数据检索的效率,降低数据库的IO成本。(搜索快)
2) 通过索引列对数据进行排序,降低数据排序的成本,降低CPU的消耗。(排序成本小)
劣势
1) 实际上索引也是一张表,该表中保存了主键与索引字段,并指向实体类的记录,所以索引列也是要占用空间 的。(空间占用大)
2) 虽然索引大大提高了查询效率,同时却也降低更新表的速度,如对表进行INSERT、UPDATE、DELETE。因为 更新表时,MySQL 不仅要保存数据,还要保存一下索引文件每次更新添加了索引列的字段,都会调整因为更新所 带来的键值变化后的索引信息。(更新慢)
索引的数据结构
InnoDB所支持的主要就是BTREE索引(B+树)

BTREE(B树)
BTREE索引是B+树

其中,ceil是向上取整。
B树插入的演变过程

就是先把值插到最后一层比n大了,在把一个筛到上面的递归过程吧。
B+Tree

Mysql中的B+树

不同于普通B+树的就是叶子之间多了个指针,来提高区间访问速度,如查9-15
索引分类

索引语法
创建索引(默认是BTREE索引):

查看索引:

删除索引:

ALTER命令:

索引设计原则:

三.视图:
视图(View)是一种虚拟存在的表。通俗的讲,视图就是一条SELECT语句执行后返回的结果集。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。
优势:
相对于普通的表:

相当于把查询结果存起来,方便以后用。
创建、修改、查看、删除视图:
创建:

create view ... as select ...
修改:

更新视图数据,即update view “view_name” set “view_row”= 'xx';
若是有选项with...,则必须遵守选项条件才可以更新。
修改是修改视图的全部内容,更新是修改视图字段的值
查看:
不存在show views语句,可以用show tables查看,但show tables不仅显示view,还有table。如果要查看视图的定义,可以使用show create view “view_name”查看
删除:

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
内容有:MySQL安装(安装包)、索引、视图。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
图片是课件,打字大部分是自己的思考,若有错误请指出。
第一天学的东西属实少了,课件的安排是4天,而我的安排缩短了一天,但今天完成的却连课件的第一天都没完成,主要耗费在mysql的安装上,而且也是在下午才开始学习,明天加油吧。

浙公网安备 33010602011771号