这篇博文深入和详细地讲解了数据库的原理,受益颇深。 1、数据库的原理,一篇文章搞定(一) 2、数据库的原理,一篇文章搞定(二) 3、数据库的原理,一篇文章搞定(三)
分类:MySql
深入学习MySQL性能优化
MySQL性能优化 1.目标 了解什么是优化 掌握优化查询的方法 掌握优化数据库结构的方法 掌握优化MySQL服务器的方法 2.什么是优化? 合理安排资源、调整系统参数使MySQL运行更快、更节省资源。 优化是多方面的,…
mysql深入之视图和索引
1.视图 视图又叫虚表。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。 视图主要有以下作用: 1…
深入理解Mysql的四种隔离级别
开发工作中我们会使用到事务,那你们知道事务又分哪几种吗?MYSQL标准定义了4类隔离级别,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低的隔离级一般支持更高的并发处理,并拥有更低的系统开销。下面通过这篇文章我们来…
MySQL学习(七):Innodb存储引擎索引的实现原理
概述 在数据库当中,索引就跟树的目录一样用来加快数据的查找速度,对于一个SQL查询操作,根据索引快速过滤掉不符合要求的数据并定位到符合要求的数据,从而不需要扫描整个表来获取所需的数据。 在innodb存储引擎中,主要是基…
MySQL学习(六):Innodb存储引擎的事务实现机制
概述 事务机制主要用于实现数据库对并发访问的支持和在并发访问下的数据一致性和可靠性。MySQL的myisam存储引擎是不支持事务的,通过表锁来实现数据的可靠性,类似于Java多线程的同步锁synchronized,避免并…
MySQL学习(五):Innodb存储引擎锁与MVCC机制的实现原理
概述 锁的主要作用是在并发访问时,锁住所操作的数据表,数据页或者数据行,MySQL中不同的存储引擎存在差异,从而避免多个客户端对同一个数据进行操作,导致数据不一致现象的发生。 锁根据是否需要对数据修改分为共享锁和排它锁,…
SQL解析顺序与MySQL底层实现
SQL语句的核心元素 SQL语句的核心组成如下:其他复杂查询,如子查询,UNION等也是基于这些元素来构成的,只是MySQL服务器对结果进行了处理。 SELECT DISTINCT < select_list &g…
explain命令详解:SQL性能分析利器
explain命令的使用很简单,主要用于对SELECT语句的执行情况进行分析,示例如下: mysql> EXPLAIN SELECT DISTINCT(trade_date) FROM order WHERE us…
MySQL学习(四):分库分表的原理
概述 一个数据库的演进过程通常为在起初数据量不大,使用单个数据库节点就可以支持业务的读写访问。随着系统用户量的增加,数据库存储的数据量也随之增加,这个时候通常可以通过提升数据库主机的硬件来提升处理能力。 当提升硬件已经无…
MySQL学习(三):主从复制Replication实现高可用的架构模式
概述 MySQL主从复制主要用于实现读写分离,所以主从架构一般为一主多从,即主库负责处理所有的写入请求,一个或多个从库负责处理所有的读请求,从而分散读写流量,实现读数据的高可用。除此之外,如果从库很多造成了主库复制负载太…
MySQL学习(二):主从复制Replication的设计与实现
概念 可拓展性和高可用 MySQL主从复制主要用于数据读写分离的场景,即主库负责数据的写入,从库负责数据的读取,从而实现访问流量的分流,提高系统的整体负载能力。同时由于数据在主从节点都进行了冗余保存,避免了数据单点问题,…