count效率比较 在不同的 MySQL 引擎中,count(*)有不同的实现方式。 MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 count(*) 的时候会直接返回这个数,效率很高; InnoDB 引擎就麻……
阅读全文
MySQL日志类型 MySQL数据库共有四种类型的日志:Error Log、General Query Log、Slow Query Log 和 Binary Log 错误日志 Error Log 即 错误日志,主要是记录 mysqld 发生的一些……
阅读全文
视图 view,它是一个用查询语句定义的虚拟表,在调用的时候执行查询语句并生成结果。 另一个是 InnoDB 在实现 MVCC 时用到的一致性读视图,即 consistent read view,用于支持 RC(Read……
阅读全文
全局锁(FTWRL) 全局锁就是对整个数据库实例加锁。 MySQL 提供了一个加全局读锁的方法,命令是 Flush tables with read lock 当你需要让整个库处于只读状态的时候,可以使用这个命令,之后其他……
阅读全文
索引 索引的出现是为了提高数据的查询效率,就行书本的目录一样,mysql中索引的实现是基于存储引擎的。 实现 哈希表 说明:以键值存储的数据结构 问题:哈希冲突的处理 范围……
阅读全文
redo log 当有一条记录需要更新的时候,InnoDB 引擎就会先把记录写到 redo log里面,并更新内存,这个时候更新就算完成了。同时,InnoDB 引擎会在适当的时候,将这个操……
阅读全文
Mysql基本架构图 MySQL 可以分为 Server 层和存储引擎层两部分。Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函……
阅读全文
基本概念 ACID 原子性(Atomicity):一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚。 一致性(consi……
阅读全文
知识点收集 1. UNION ALL 与 UNION 的区别 UNION和UNION ALL关键字都是将两个结果集合并为一个。 UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结……
阅读全文