
数据库
戎·码一生
自信来自实力,改变来自挑战。做一只生活小强。
展开
-
查询sql的执行过程
简单的查询一行数据,数据库需要经过那些加工处理才能得到我们需要的数据呢?原创 2016-06-30 10:31:21 · 2045 阅读 · 0 评论 -
order by语句的执行优化分析
Mysql设计原则之一:如果内存够,就使用内存,尽量减少磁盘的访问。原创 2016-07-10 15:36:41 · 2066 阅读 · 0 评论 -
explain详解
explain(Execution plan cost)就是优化器做的事情。执行计划,很重要!! 只有明白sql是如何执行的,才能更好的优化,先了解它,然后才能优化它,explain就是和mysql优化对话的大门和打开优化器门的钥匙~原创 2016-07-12 16:12:20 · 2777 阅读 · 0 评论 -
MySql主从复制及延迟
主从延迟问题又称为“过期读”问题,是数据一致性问题;另外,对于MySQL数据库来说,任何时刻尽量不允许大事务的执行;若要执行,则将大事务拆成一个个小的子事务来执行,这是最基本心法口诀。原创 2020-11-27 17:37:40 · 564 阅读 · 0 评论 -
MySql死锁分析
在我们使用锁的时候,有一个问题是需要注意和避免的,我们知道,排他锁有互斥的特性。一个事务或者说一个线程持有锁的时候,会阻塞其他线程的获取锁,这个时候会造成线程的阻塞和等待,如果说是循环等待,就有可能造成死锁。原创 2020-11-27 10:36:33 · 474 阅读 · 0 评论 -
Innodb中的锁
目标:并发场景下加锁保证数据访问的安全性的同时,又要保证性能。无锁编程: 自旋锁 自适应自旋锁 无锁:cas 加锁的优化: 特点: 粒度控制的更细 减少锁的阻塞 一种试探性的算法 — 显的更加智能 锁消除 锁粗化 偏向锁:只有a去竞争,重入锁的实现; 轻量级锁:a和b交替竞争 - aqs 重量级锁【真正的加锁】:多个线程并发去竞争 - aqs 粒度锁..原创 2020-11-26 17:22:43 · 379 阅读 · 0 评论 -
数据库事务与隔离级别
事务:要么什么都做,要么都不做,没有中间状态。 All or Nothing。原创 2020-11-26 11:45:05 · 280 阅读 · 0 评论 -
再聊索引
尽量减少访问磁盘的次数是数据库设计的重要原则之一; 每个索引在innodb里都是一颗B+树,一张表由多棵B+树组成原创 2020-11-26 09:32:05 · 202 阅读 · 0 评论 -
更新sql的执行过程
数据库的查询操作具有天然幂等性,不会对数据库有任何的修改。但是mysql如何实现对数据库的更新操作呢?原创 2016-06-30 11:06:30 · 3954 阅读 · 1 评论 -
认识索引
每个索引在innodb里都是一颗B+树,一张表由多棵B+树组成,B+树很好的配合了磁盘的读写性能。原创 2016-07-10 15:24:46 · 1817 阅读 · 0 评论 -
了解between和limit及count(*)
设计表结构或者是创建索引的时候,我们的目标就是在满足当前需求的情况下,减少对数据库的io次数,避免大量数据的获取及排序,减少资源的消耗。原创 2016-07-10 15:31:01 · 2168 阅读 · 0 评论