Mysql
zxp0727
这个作者很懒,什么都没留下…
展开
-
一条SQL查询语句是如何执行的?
引言:一条简单的查询SQL是如何执行的?比如,有一个最简单的表,表里只有一个ID字段,执行如下的这个查询语句:select * from T where ID = 10;首先我们先看看Mysql的基本架构示意图:大体来说,Mysql可以分为Server层和存储引擎层两部分。Server层包括连接器、查询换成、分析器、优化器、执行器等,涵盖了Mysql的大多数核心服务功能,...转载 2018-11-26 16:32:46 · 707 阅读 · 0 评论 -
一条SQL更新语句是如何执行的?
针对链接中文章的读后思考:https://time.geekbang.org/column/article/68633redo log概念 redo log记录的是新数据的备份。在事务提交前,只要将Redo Log持久化即可,不需要将数据持久化。当系统崩溃时,虽然数据没有持久化,但是RedoLog已经持久化。系统可以根据RedoLog的内容,将所有数据恢复到最新的状态。 ...原创 2018-11-28 17:02:19 · 523 阅读 · 0 评论 -
Mysql架构之Mysql复制
Mysql集群架构好处(1)提高高可用。如果某个数据库实例出现问题,这时候可由其他的数据库实例提供服务,或者可以快速的切换到其他数据库实例,对于业务来说基本上无感知,也不会导致业务的中断。同时过多的数据在多个数据库实例之间的复制,提高了数据的安全性和可用性。(2)提高性能。业务对数据的访问可以分散到不同的数据库实例上,可以根据数据访问类型不用,将不同性质的访问操作,进行分离,都可以降低...原创 2019-02-27 17:14:09 · 812 阅读 · 0 评论 -
浅谈索引(一)
什么是索引?索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。简单来说索引的出现就是为了提高数据的查询效率,就像书的目录一样。索引的常见模型1.哈希表哈希表是一种以键-值(key-value)存储数据的结构。哈希的思路就是,把值放在数组里,用一个哈希函数把key换算成一个确定的位置,然后把value放在数组的这个位置上。不可避免的,多个ke...原创 2019-02-25 16:40:54 · 286 阅读 · 0 评论 -
mysql优化
count操作在MySQL InnoDB存储引擎中,COUNT(*)和COUNT(1)都是对的所有结果进行的COUNT。如果有WHERE子句,则是对所有符合筛选条件的数据行进行统计。如果没有WHERE子句,则是对数据表的数据行数进行统计。因此COUNT(*)和COUNT(1)本质上没有区别,执行的复杂度都是O(N),也就是采用全表扫描,进行循环+计数的方式进行统计。如果是MySQL MyI...原创 2019-07-01 10:21:25 · 127 阅读 · 0 评论