数据库
文章平均质量分 89
@~_~
这个作者很懒,什么都没留下…
展开
-
索引的必知小知识
什么是索引我们可以类比现实中的一个问题,当你看一本英文词典的时候没有目录的话,那么你要找某一个单词的话,那你是不是只能一页一页的翻找,这个效率真的会很低,所以这个时候索引就应运而生,让我们通过索引能够快速定位到相应的数据位置。在mysql中索引跟执行引擎有关,比如MyISAM和InnoDB之间就存在一定的区别。MyISAM和InnoDB索引的区别MyISAM是非聚簇索引,数据和索引是分开的,索引的叶子节点保存的是数据的地址,并且针对于myisam来说,并不需要一定要有主键。InnoDB是聚簇索引原创 2022-05-04 22:13:17 · 295 阅读 · 0 评论 -
为什么别人改的你看不到?
可能看到标题很多人比较懵,其实我们这章主要要说的就是事务的机制,那在开始之前一个思考题,什么隔离级别下别人改的你会看不到呢?事务是什么说到事务,只要是一个合格的JAVA程序员其实应该都不陌生,比如现在场景如下:小明有一百块钱,要去银行存起来,这个时候小张向小明又转了一百元钱,那么这个时候就会涉及到事务了,那么里面转入的时候小明是不是立即就能查到呢,这个就要看隔离性了。其实事务就是保证数据库的一组操作,要么全部成功,要么全部失败。mysql中事务主要是在引擎层实现的,这也就会导致mysql不一定在所有原创 2022-04-17 11:37:25 · 454 阅读 · 0 评论 -
一条SQL更新语句怎么执行?
比如我们有一条sql如下:update A set c=c+1 where id = 1;这条语句到底怎么执行的呢,其实更新语句走的也是我们查询语句那一套流程,但是更新语句会有一个操作,就是会在更新的同时清空A表的查询缓存。与查询流程不同,更新的时候还会设计两个重要的日志,分别是binlog和redolog。redoLogredolog其实是一个环,上面会有两个指针,其中一个记录checkpoint当前擦除的位置,一个记录write pos当前写入的位置。根据上面的描述的话,也就是在我们做更新原创 2022-04-14 07:47:49 · 840 阅读 · 0 评论 -
一条SQL语句是怎么执行的?
比如我们有如下的一句SQLselect * from A where id = 1;我们可能只知道它的执行结果,却不知道在执行的整个执行中它的执行过程是什么样子的,接下来就是对这条语句的每个过程进行详细的拆分。整体鸟瞰整体流程图从上图可以看出整体的mysql大致可以分为两部分,server层以及存储引擎层。server中包含mysql大部分功能,例如内置函数以及跨存储功能都在这一层实现,比如,视图,触发器,存储过程等。存储引擎层负责数据的存储和读取,其架构是插件式的,支持INNODB\MY原创 2022-03-30 17:50:37 · 510 阅读 · 0 评论