1.MySQL服务的登录和退出
①通过Windows自带的客户端登录:mysql -h主机名 -p端口号 -u用户名 -p密码
②退出:exit 或者 ctrl + c
2.MySQL的常见命令
①.查看当前所有常见的数据库
show databases;
②.打开指定的库
use 库名
③.查看当前库的所有表
show tables;
④.查看其他库的所有表
show tables from 库名;
⑤.查看表结构
desc 表名;
⑥查看字符集
show variables like '%character%';
⑦查看当前MySQL默认存储引擎
show variables like ’%storege_engine%‘;
⑧ 查看MySQL提供存储的引擎
show engines;
3.MySQL主要配置文件
①frm文件 -------------》 存放表结构
② myd文件-----------》存放表数据
③ myi文件 -----------》存放表索引
4.MySQL逻辑架构简介
①连接层
最上层是一些客服端和连接服务,包含本地sock通信和大多数基于客户端/服务端工具实现的类似于tcp/ip通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层引入了线程池的概念,为通过认证安全接入的客户端提供线程。同样在该成可以实现基于SSL的安全链接。服务器也会为安全接入的每个客户验证它的所具有的操作权限
②服务层
第二层架构主要完成大多数核心服务功能,如SQL接口,并完成缓存的查询,SQL的分析和优化及部分内置函数的执行。所有跨存储引擎地功能也在这一层实现,如过程、函数等。在该层,服务器会在解析查询并创建相应的内部解析树,并对其完成响应优化如确定查询表的顺序,是否利用索引等,最后生成相应的执行操作。如果是select语句,服务器还会查询内部的缓存。如果缓存空间足够大,可以解决大量读操作环境中能够很好提升系统性能。
③引擎层
存储引擎层,存储引擎真正的负责了MySQL中数据的存储和提取,服务器通过API与存储引擎进行通信。不同的存储引擎具有功能不同,这样可以根据自己实际需要进行选取。
4.存储层
数据存储层,主要是将数据存储在运行于裸设备的文件系统只是并完成与存储引擎的交互
5.存储引擎简介
6.SQL执行加载顺序
7.索引
①索引定义:索引是帮助MySQL高效获取数据的数据结构。本质:索引是数据结构。可以简单理解为:排好序的快速查找数据结构。
②快速查找的数据结构:数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据。
建索引优势:①类似大学图书馆建书目索引,提高数据检索的效率,降低数据库的IO成本
②通过索引列对数据进行排序,降低数据排序的成本,降低了CPU的消耗
劣势:①实际上索引也是一张表,该表保存了主键与索引字段,并指向实体表的记 录,所以索引也是要占空间的
②虽然索引大大的提高了查询速度,同时却会降低跟新表的速度如对表进 行,INSERT、UPDATEE和DWELETE。因为跟新表时,MySQL不仅要保 存数据,还要保存索引文件每次跟新添加了索引列的字段,都会调整因为 更新所带来的键值变化的索引信息
③单值索引 - 即一个索引只包含单个列,一个表可以多个单列索引
④唯一索引 - 索引列的值必须唯一,但允许有空值
⑤复合索引 - 即在一个索引包含多个列
8.explain使用简介
1)type -访问类型排序
显示查询使用了何 种类型,最好到最差依次排序:system > const > eq_ref > ref > range > index > ALL
9.避免索引失效