![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mysql
文章平均质量分 72
xishilife
这个作者很懒,什么都没留下…
展开
-
SQL多表查询之隐式连接
①确定表(从哪些表中查?);from 表1,表2②确定连接条件:where/on③确定筛选出哪些列:select 列一、内连接1)、隐式内连接首先得澄清一个概念:笛卡尔积:有两个表,A和B,聚合这两个表的所有组成情况(比如A有4条数据,B有3条数据),也即构成了一个新的表(包含有4*3=12条数据)如下图所示;隐式内连接:就是使用where条件,消除不符合条件的无用数据(消除笛卡尔积的无用数据)。select 列 1,列2 from 表1,表2 where 条件 ;...原创 2021-11-17 10:33:17 · 1461 阅读 · 0 评论 -
Mysql explain 执行计划之type详解
EXPLAIN执行计划中type字段分为以下几种:ALL INDEX RANGE REF EQ_REF CONST,SYSTEM NULL自上而下,性能从最差到最好type = ALL,全表扫描,MYSQL扫描全表来找到匹配的行(因为film表中rating不是索引)mysql> explain extended select * from film where rati...原创 2021-09-12 22:30:13 · 11629 阅读 · 2 评论 -
MYSQL之MVCC多版本并发控制
前提概要 什么是MVCC 什么是当前读和快照读? 当前读,快照读和MVCC的关系 MVCC实现原理 隐式字段 undo日志 Read View(读视图) 整体流程 MVCC相关问题 RR是如何在RC级的基础上解决不可重复读的? RC,RR级别下的InnoDB快照读有什么不同? 一、前提概要什么是MVCC?MVCCMVCC,全称Multi-Version Concurrency Control,即多版本并发控制。MVCC是一种并发控制的方法,一般在数据转载 2021-09-12 21:55:27 · 129 阅读 · 0 评论 -
OLTP与OLAP的区别
数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。OLTP 系统强调数据库内存效率,强调内存各种指标的命令率,强调绑定变量,强调并发操作;OLAP 系统则强调数据分析,强调SQ原创 2021-09-10 23:23:01 · 754 阅读 · 0 评论 -
Select … for update--手工加锁语句
Select … for update语句是我们经常使用手工加锁语句。通常情况下,select语句是不会对数据加锁,妨碍影响其他的DML和DDL操作。同时,在多版本一致读机制的支持下,select语句也不会被其他类型语句所阻碍。 借助for update子句,我们可以在应用程序的层面手工实现数据加锁保护操作。本篇我们就来介绍一下这个子句的用法和功能。 下面是采自Oracle官方文档...原创 2011-10-11 15:00:10 · 1326 阅读 · 0 评论 -
聚簇索引和非聚簇索引的区别
聚簇索引是对磁盘上实际数据重新组织以按指定的一个或多个列的值排序的算法。特点是存储数据的顺序和索引顺序一致。一般情况下主键会默认创建聚簇索引,且一张表只允许存在一个聚簇索引。在《数据库原理》一书中是这么解释聚簇索引和非聚簇索引的区别的:聚簇索引的叶子节点就是数据节点,而非聚簇索引的叶子节点仍然是索引节点,只不过有指向对应数据块的指针。因此,MYSQL中不同的数据存储引擎对聚簇索引的支持不同就很好解释了。下面,我们可以看一下MYSQL中MYISAM和INNODB两种引擎的索引结构。如原始数据原创 2021-09-12 21:28:44 · 4715 阅读 · 1 评论