
数据库
文章平均质量分 75
every__day
这个作者很懒,什么都没留下…
展开
-
Mysql相关知识点汇总
Mysql 相关知识点:InnoDB,,MVCC,WAL,间隙锁,两阶段提交等原创 2022-10-15 16:56:41 · 1237 阅读 · 0 评论 -
Redis系统梳理——API的理解和使用
Redis 提供了七种数据类型:String、Hash、Set、Sorted Set、Pub/Sub、TransactionRedis 内部封装了一个redisObject实例来表示所有的key 和 value。redisObject包含的最主要字段是 type和encoding。type代表value对象具体的数据类型,包括String、Hash、List、Set和Sorted set等,e...原创 2018-07-05 16:41:52 · 259 阅读 · 0 评论 -
Redis系统梳理——Redis的高级功能
1、慢查询Slowlog 命令 用来记录查询执行时间的日志系统。 查询执行时间指的是不包括像客户端响应、发送回复等IO操作,而单单是执行一个查询命令所深消耗的时间。 solw log 保存在内存里面,读写速度非常快,因此你可以放心的使用它,不必担心因为开启 slow log 损害 Redis的速度SLOWLOG subcommand [argument]// 查看日志信息re...原创 2018-07-26 11:42:00 · 436 阅读 · 0 评论 -
mysql 更新操作——You can't specify target table 'aa' for update in FROM clause
不知道大家用mysql时,有没有遇到这样的问题错误代码: 1093——You can’t specify target table ‘aa’ for update in FROM clause (大意是:你不能从子句中更新目标表’aa’)UPDATE `aa`SET user_id_ = 'd0364fca2c7b4826a3b3e12ba6ac435d'WHERE id...原创 2018-09-12 11:46:39 · 2711 阅读 · 0 评论 -
4种事务的隔离级别,InnoDB如何巧妙实现?
本文取自微信公众号——《架构师之路》事务ACID特性,其中I代表隔离性(Isolation)。什么是事务的隔离性? 隔离性是指,多个用户的并发事务访问同一个数据库时,一个用户的事务不应该被其他用户的事务干扰,多个并发事务之间要相互隔离。一个事务怎么会干扰其他事务呢? 咱们举例子来说明,假设有InnoDB表: t(id PK, name);表中有三条记录: 1, shenji...转载 2018-09-17 10:10:36 · 311 阅读 · 0 评论 -
别废话,各种SQL到底加了什么锁?
本文取自微信公众号——《架构师之路》这个月花了一些功夫写InnoDB:并发控制,MVCC,索引,锁… 有朋友留言:你TM讲了这么多,锁分了这么多类型,又和事务隔离级别相关,又和索引相关,究竟能不能直接告诉我,一个SQL到底加了什么锁!?我竟无言以对。好吧,做过简单梳理之后,今天尝试着直接回答,尽量做到不重不漏,各种SQL语句究竟加了什么锁。一、普通select (1)在读未提...转载 2018-09-23 16:09:39 · 398 阅读 · 0 评论 -
InnoDB,5项最佳实践,知其所以然?
本文取自微信公众号——《架构师之路》第一篇,说说MySQL两个最常用的存储引擎,MyISAM和InnoDB。照自己的理解,把一些知识点总结出来,不只说知识点,多讲“为什么”。一、关于count(*) 知识点:MyISAM会直接存储总行数,InnoDB则不会,需要按行扫描。潜台词是,对于select count(*) from t; 如果数据量大,MyISAM会瞬间返回,而InnoDB...转载 2018-09-14 17:07:51 · 203 阅读 · 0 评论 -
InnoDB并发如此高,原因竟然在这?
本文取自微信公众号——《架构师之路》一、并发控制 为啥要进行并发控制? 并发的任务对同一个临界资源进行操作,如果不采取措施,可能导致不一致,故必须进行并发控制(Concurrency Control)。技术上,通常如何进行并发控制? 通过并发控制保证数据一致性的常见手段有: 锁(Locking) 数据多版本(Multi Versioning)二、锁 如何使用普通锁保证一致性...转载 2018-09-14 17:10:47 · 237 阅读 · 0 评论 -
InnoDB,select为啥会阻塞insert?
本文取自微信公众号——《架构师之路》MySQL的InnoDB的细粒度行锁,是它最吸引人的特性之一。但是,如《InnoDB,5项最佳实践》所述,如果查询没有命中索引,也将退化为表锁。InnoDB的细粒度锁,是实现在索引记录上的。一,InnoDB的索引 InnoDB的索引有两类索引,聚集索引(Clustered Index)与普通索引(Secondary Index)。InnoD...转载 2018-09-15 15:38:04 · 212 阅读 · 0 评论 -
插入InnoDB自增列,居然是表锁?
本文取自微信公众号——《架构师之路》一,案例说明 MySQL,InnoDB,默认的隔离级别(RR),假设有数据表: t(id AUTO_INCREMENT, name);数据表中有数据: 1, shenjian 2, zhangsan 3, lisi事务A先执行,还未提交: insert into t(name) values(xxx);事务B后执行: insert ...转载 2018-09-15 15:39:43 · 407 阅读 · 0 评论 -
InnoDB的快照读,到底和什么相关?
本文取自微信公众号——《架构师之路》InnoDB是非常适合互联网业务的存储引擎,其多版本并发控制(Multi Version Concurrency Control, MVCC),快照读(Snapshot Read)机制,能够通过读取回滚段(rollback segment)中数据的历史版本,在事务读取记录的时候不用加锁,以支持超高的并发。【并发控制,快照读,回滚段】辅助阅读: 《Inn...转载 2018-09-26 17:37:06 · 274 阅读 · 0 评论 -
InnoDB并发插入,居然使用意向锁?
本文取自微信公众号——《架构师之路》一,案例说明 MySQL,InnoDB,默认的隔离级别(RR),假设有数据表: t(id AUTO_INCREMENT, name);数据表中有数据: 1, shenjian 2, zhangsan 3, lisi事务A先执行,还未提交: insert into t(name) values(xxx);事务B后执行: insert ...转载 2018-10-11 14:21:19 · 300 阅读 · 0 评论 -
数据库索引,到底是什么做的?
本文取自微信公众号——《架构师之路》近期写数据库,不少朋友留言问MySQL索引底层的实现,今天简单聊一聊,少讲“是怎么样”,更多说说“为什么设计成这样”。问题1. 数据库为什么要设计索引?图书馆存了1000W本图书,要从中找到《架构师之路》,一本本查,要查到什么时候去? 于是,图书管理员设计了一套规则: (1)一楼放历史类,二楼放文学类,三楼放IT类… (2)IT类,又分软件类,...转载 2018-10-12 17:24:11 · 189 阅读 · 0 评论 -
InnoDB的快照读,到底和什么相关?
本文取自微信公众号——《架构师之路》InnoDB是非常适合互联网业务的存储引擎,其多版本并发控制(Multi Version Concurrency Control, MVCC),快照读(Snapshot Read)机制,能够通过读取回滚段(rollback segment)中数据的历史版本,在事务读取记录的时候不用加锁,以支持超高的并发。【并发控制,快照读,回滚段】辅助阅读: 《Inn...转载 2018-10-08 11:29:24 · 469 阅读 · 0 评论 -
InnoDB,快照读,在RR和RC下有何差异?
本文取自微信公众号——《架构师之路》InnoDB是非常适合互联网业务的存储引擎,其多版本并发控制(Multi Version Concurrency Control, MVCC),快照读(Snapshot Read)机制,能够通过读取回滚段(rollback segment)中数据的历史版本,在事务读取记录的时候不用加锁,以支持超高的并发。【并发控制,快照读,回滚段】辅助阅读: 《Inn...转载 2018-09-29 15:35:56 · 1395 阅读 · 0 评论 -
1分钟了解MyISAM与InnoDB的索引差异
本文取自微信公众号——《架构师之路》《数据库索引,到底是什么做的?》介绍了B+树,它是一种非常适合用来做数据库索引的数据结构: (1)很适合磁盘存储,能够充分利用局部性原理,磁盘预读; (2)很低的树高度,能够存储大量数据; (3)索引本身占用的内存很小; (4)能够很好的支持单点查询,范围查询,有序性查询;数据库的索引分为主键索引(Primary Inkex)与普通索引(Seco...转载 2018-10-15 09:32:12 · 196 阅读 · 0 评论 -
InnoDB的快照读,到底和什么相关?
本文取自微信公众号——《架构师之路》InnoDB是非常适合互联网业务的存储引擎,其多版本并发控制(Multi Version Concurrency Control, MVCC),快照读(Snapshot Read)机制,能够通过读取回滚段(rollback segment)中数据的历史版本,在事务读取记录的时候不用加锁,以支持超高的并发。【并发控制,快照读,回滚段】辅助阅读: 《Inn...转载 2018-10-26 16:43:31 · 216 阅读 · 0 评论 -
Redis 系统梳理——特性和应用场景
Redis 的特性 1、速度极快 C语言写的,五万行,单线程 2、持久化 定时把数据保存在磁盘中,持久化方式RDB和AOF 3、支持多种数据结构 hash set map GEO 4、支持多种语言 java PHP Python Lua Nodejs 5、功能丰富 发布订阅 事务 Lua脚本 PIpeline 6、简单 不依赖外部库 7、主从复制 可高可用 8、高可用...原创 2018-06-14 19:20:08 · 267 阅读 · 0 评论 -
mybatis <if test=""></if>标签0为null
<if test="state != null and state != ''">state = #{state}</if>里面的坑,关于0值处理的问题原创 2018-01-03 18:26:09 · 8505 阅读 · 0 评论 -
SQL查询和优化(六)
用其它表中的值更新 UPDATE方法和MERGE INTO方法原创 2017-08-08 11:53:17 · 271 阅读 · 0 评论 -
SQL 查询和优化(七)
行转列 常用方法有CASE WHEN THEN 和 PIVOT函数两种方法原创 2017-08-09 12:46:13 · 272 阅读 · 0 评论 -
SQL查询和优化(十四)——用分析函数优化标量子查询
当标量子查询中的表与主查询中的表一样,也就是自关联的时候,常常可以改为分析函数原创 2017-08-16 22:09:52 · 693 阅读 · 0 评论 -
SQL查询和优化(一)
最近在看一本SQL优化的书,整理笔记,与读者共勉1、查找空值SQL>SELECT *FROM dep WHERE comm =NULL; 这样是查不到的, 正确写法:SQL>SELECT *FROM dep WHERE comm IS NULL;2、空值转换SQL>SELECT coalesce (comm,0) FROM dep;3、多个条件查找对于多原创 2017-08-02 22:41:26 · 444 阅读 · 0 评论 -
SQL查询和优化(十五)
用MERGE改写优化UPDATE原创 2017-08-17 20:49:30 · 423 阅读 · 0 评论 -
SQL查询和优化(八)
列转行原创 2017-08-10 20:12:03 · 399 阅读 · 0 评论 -
SQL查询和优化(二)
一、模糊查询CREATE OR REPLACE VIEW v ASSELECT 'ABCEDF' AS vname FROM dualUNION ALLCREATE OR REPLACE VIEW v ASSELECT '_BCEFG' AS vname FROM dualUNION ALLCREATE OR REPLACE VIEW v ASSELECT '_BCEDF' AS vn原创 2017-08-03 22:40:31 · 284 阅读 · 0 评论 -
SQL查询和优化(九)
用LEFT JOIN 优化标量子查询原创 2017-08-10 22:43:12 · 266 阅读 · 0 评论 -
SQL查询和优化(十)
SQL优化:标量子查询改为LEFT JOIN原创 2017-08-11 10:41:28 · 314 阅读 · 0 评论 -
SQL查询和优化(十一)
不等连接的标量子查询改写原创 2017-08-12 20:01:43 · 320 阅读 · 0 评论 -
SQL查询和优化(三)
给查询结果排序SELECT empno,ename,hredate FROM emp WHERE deptno=10 ORDER BY HIREDATE ASC;也可以这样写SELECT empno,ename,hredate FROM emp WHERE deptno=10 ORDER BY 3 ASC;按第三列排序的意思多字段排序(部门编号升序,工资降序)SELECT empno, dep原创 2017-08-05 12:28:35 · 313 阅读 · 0 评论 -
SQL查询和优化(四)
一、给结果集分页 二、隔行返回数据三、简单树形查询原创 2017-08-06 09:44:18 · 412 阅读 · 0 评论 -
SQL优化和查询(十六)
用MERGE改写有聚合操作的UPDATE原创 2017-08-20 23:28:42 · 234 阅读 · 0 评论 -
SQL查询和优化(十二)
下等连接的标量子查询的改写 上一篇的例子中,主表中没有过滤条件。当主表中有过滤条件时,按上一篇的方法就会产生不必要的访问量原创 2017-08-13 10:20:37 · 397 阅读 · 0 评论 -
SQL优化和查询(十七)
复杂UPDATE语句,用MERGE INTO的改写原创 2017-08-24 23:30:57 · 323 阅读 · 0 评论 -
SQL查询和优化(十三)
标量子查询与改写逻辑的一致性原创 2017-08-15 22:35:37 · 270 阅读 · 0 评论 -
SQL查询和优化(五)
一、插入新记录二、多表插入原创 2017-08-07 20:41:11 · 358 阅读 · 0 评论