架构拾遗
Simoss
这个作者很懒,什么都没留下…
展开
-
MySql那些事儿(七):索引失效案例分析
作者:阿茂我们在第四篇讲了索引原理,这一篇我们列举一些索引失效的场景,谈谈平时大家都不太注意的一些细节问题:索引条件使用函数操作或运算看到这个标题有的哥们就说了:这个我知道,给索引条件加函数Mysql不会走索引。那么是为什么呢?我们来分析一下,将第五章的建表语句稍微改动下:CREATE TABLE `t` ( `id` int(11) NOT NULL, `city` varcha...原创 2019-12-04 10:29:56 · 177 阅读 · 0 评论 -
MySql那些事儿(六):你知道order by是怎么排序的吗?
作者:阿茂从这一片开始我们就说一下平时是遇到的问题以及其原理解析,看到标题有没有朋友遇到过sql加了order by速度很慢的呢?下面我们来看了例子,建表语句入下:CREATE TABLE `t` ( `id` int(11) NOT NULL, `city` varchar(16) NOT NULL, `name` varchar(16) NOT NULL, `age` in...原创 2019-12-02 16:42:51 · 257 阅读 · 0 评论 -
MySql那些事儿(五):事务是个什么东西?
作者:阿茂上一篇文章我们说了索引,收到有些朋友的提问,其中有这么一个问题:datetime类型的数据列索引怎么创建?我们在这里简单的说一下吧,因为datetime类型的类索引处理确实是注意下,我就说几种方式吧。最优处理办法就是把传入的datetime值转换成整型去和数据库列作比较。这样的就需要程序里面做一次转换,还有一只就是直接用时间字符串比较‘2019-11-01 13:05:13’,使用FR...原创 2019-12-02 16:41:25 · 156 阅读 · 0 评论 -
MySql那些事儿(四):吃透索引
作者:阿茂上回我们说完了InnoDB的架构以及设计原理,现在我们来说一说索引。索引说起来大家应该都不陌生,有没有一种即视感,运维同学在群里甩了一个sql说查询非常慢让开发的同学认领,然后你看到消息会第一反应是不是:条件列没加索引?条件列没吃到现有索引?这类的信息浮现出来?那什么是索引呢?索引具体的工作原理是什么呢?下面我们将逐一展开说明索引的存储结构索引是优化查询的重要方式之一,它主要在My...原创 2019-11-07 12:49:09 · 176 阅读 · 0 评论 -
MySql那些事儿(三):InnoDB架构介绍之磁盘篇
作者:阿茂上一篇我们聊了InnoDB内存结构,这一篇我们聊一聊数据在磁盘上的结构。纯聊理论确实比较枯燥,感觉也没啥营养,我在这里只是想方便大家对MySQL的整体结构有个详细的了解,在后面的文章中我会频繁的提到这些内容,先整体的过一遍有个印象。下面我就开始说InnoDb的数据磁盘结构(本篇文章不做特殊说明都是按照Mysq 5.7来讲解的)。表大家都不陌生吧,整天CRUD的数据都在这里,也是一个...原创 2019-11-06 14:36:21 · 341 阅读 · 0 评论 -
MySql那些事儿(二):InnoDB架构介绍之内存篇
作者:阿茂InnoDB介绍书接上回,我们基本说完了mysql的逻辑架构与物理架构。今天我们来说说当下比较火的存储引擎InnoDb。MySQL 5.5以前InnoDB引擎是需要手动通过Plugin方式引入,内置的是MyISAM。MySQL 5.5以后随着数据库默认引擎的更换,InnobaseOy的InnoDB就开始大放异彩(以下我们将用MySQL5.7举例)。我们先说说它有什么样的特性让诸位英...原创 2019-11-06 14:34:22 · 235 阅读 · 0 评论 -
MySql那些事儿(一):MySql架构介绍
作者:阿茂从今天开始我们就说说MySql那些事儿,看我标题就能知道这不是一两句话能说清楚的,那么各位看官慢看听我道来:那些MySql的起源与发展历程还有和他东家们的那些事儿,以及和那些关系数据库兄弟们的爱恨情仇我这里就不说了,留给各位自行搜索(大家要是有兴趣回头补一篇前传),我们直接上干货。MySql物理架构:本图是基于MySql5.7 版本InnoDB存储引擎。基础和数据目录的概述...原创 2019-11-06 14:28:52 · 290 阅读 · 0 评论