组件: SQL接口,解析器,优化器,缓存,存储引擎
扩展阅读“ MySQL体系结构”
连接到,查看所有库日志系统管理分类,选择库,创建库,删除库
查看所有表,查看表结构,创建表,删除表
添加字段,删除字段,修改字段
插入,选择,更新,删除
所有字段,指定字段,WHERE,IN,AND,LIKE,AND,或,DISTINCT,ORDER BY,GROUP BY,LIMIT之间
加入查询,子查询日志系统管理分类,合并结果
扩展阅读“使用MySQL连接”
SELECT UNIX_TIMESTAMP('2019-05-07 22:55:00'); #1557240900 SELECT FROM_UNIXTIME(1557240900); #2019-05-07 22:55:00
SELECT FORMAT(2.7895, 2); #2.79
多个查询需要同时修改数据,这将导致并发控制问题. 使用锁可以有效解决此问题
事务是一组原子SQL查询或一个独立的工作单元. 事务中的语句,要么全部成功执行,要么全部执行失败
ACID功能: 原子性,一致性,隔离性,耐用性
脏读: 事务读取未提交的数据
MySQL默认事务隔离级别
多个事务在同一资源上彼此占用并请求锁定彼此的资源,这导致恶性循环现象
InnoDB当前的处理方法: 回滚持有最小行级排他锁的事务
交易日志可以帮助提高交易效率
MySQL默认情况下使用AUTOCOMMIT模式,每个查询都被视为执行提交操作的事务
索引是存储引擎用来快速查找记录的数据结构
ALTER TABLE `table_name` ADD INDEX index_name (`column`); #普通索引
ALTER TABLE `table_name` ADD UNIQUE (`column`); #唯一索引
ALTER TABLE `table_name` ADD PRIMARY KEY (`column`); #主键索引
ALTER TABLE `table_name` ADD FULLTEXT (`column`); #全文索引
ALTER TABLE `table_name` ADD INDEX index_name (`column1`, `column2`, `column3`); #组合索引
二叉树导致树高很高,逻辑上接近的节点在物理上距离很远,无法使用局部性,IO数量大,搜索效率低
每个节点都是二进制数组[key,data],所有节点都可以存储数据,key是索引,而data是索引之外的数据. 插入和删除数据将破坏BTree的性质. 插入数据时,需要进行拆分,合并,传输等操作以保持BTree的性质,从而导致频繁的IO操作
非叶节点不存储数据,仅索引索引,仅叶节点存储数据
在经典BTree +的基础上进行了优化,添加了顺序访问指针. 将指向相邻叶节点的指针添加到BTree +的每个叶节点,以使用顺序访问指针形成BTree +,从而提高了间隔访问性能
单个MySQL表的容量约为500万,并且性能处于最佳状态. 此时,MySQL的BTREE索引树的高度在3到5之间.
ColumnJSON名称的含义
id
select_id
选择标识符
select_type
没有
选择类型
表
表名
输出行描述的表的表名
分区
分区
匹配分区
类型
access_type
连接类型
possible_keys
possible_keys
可供选择的索引
键
键
实际使用的索引
key_len
key_length
实际使用的索引长度
ref
ref
要与索引进行比较的列,即关联表使用的列
行
行
估计要检查的行数
已过滤
已过滤
按表条件过滤的行百分比
额外
没有
附件信息
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-288483-1.html
教授本是代表了文化
老成持重并不优于年轻热血