数据库
文章平均质量分 88
晓筱时代
暂无
展开
-
MySQL InnoDB非阻塞式读的实现原理
以前在学习《数据库概论》这门课程的时候,了解到在可重复读这个隔离级别下,一个事务内同一个SELECT查询的多次执行会返回相同的结果,而这个是对查询返回的记录加共享锁来实现的。这样,别的事务如果要更新相同的记录的话就必要要等前一个事务先释放锁。说白了,这就是通过数据库三级封锁协议(三级封锁协议:在一级封锁协议的基础上,事务T在读取数据R之前,必须先对其加上S锁,直到事务结束后才释放。三级封锁协议...原创 2014-12-11 22:15:10 · 348 阅读 · 0 评论 -
MySQL InnoDB隔离级别
上篇文章讨论了事务隔离级别,隔离级别这个东西在不同的数据库产品上,是有一些区别的,本篇重点讲讲mysql数据库。四种标准的隔离级别MySQL数据库都支持,下面我们一个一个看过来先。首先我们先创建一个简单的测试表。[code="sql"]CREATE TABLE tb1( id INT NOT NULL, value DECIMAL NOT NUL...原创 2014-12-07 23:33:54 · 85 阅读 · 0 评论 -
事务、事务并发
最近工作非常郁闷,天天被领导盯着。主要是系统近来死锁发生在频率很高。最终,经过大家的共同努力,我们成功的定位并解决了问题,所以把过程中学习的知识与经验分享一下 :) [color=darkblue][size=xx-large]问题背景[/size][/color]系统中有一个账户模块,负责管理和维护会员的各种资金及明细,对外的功能涉及资金的增加与扣减等。通过监控系统发现,当外围系统并...原创 2014-12-07 16:46:34 · 119 阅读 · 0 评论 -
MySQL InnoDB锁机制(三)
前面两篇文章讨论了MySQL InnoDB的锁类型与加锁方式,这次,我们来看看在不同的场景下,不同的SQL会以什么样的方式加什么类型的锁。 在开始之前,我们先了解一下什么是聚族索引? 每一张InnoDB表都有且仅有一表特殊的索引,聚族索引(Clustered Index),表中的数据是直接存放在聚族索引的叶子节点页面中,这样,根据聚族索引查询就会比普通索引更快,因为少了一次IO...原创 2014-12-28 22:46:19 · 87 阅读 · 0 评论 -
MySQL 账户管理
[align=center][size=x-large]Mysql 账户管理[/size][/align][size=large]1、创建账户[/size][code="shell"]CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'my pass';[/code][size=large]2、删除账户(删除账户同时会删除其所有权限)[/s...原创 2013-01-31 17:47:11 · 83 阅读 · 0 评论 -
mysql 笔记
[size=x-large][b]安装完成后的设置[/b][/size]1、修改root账号的登录密码[code="mysql"]mysqladmin -u root password 'password';[/code]2、权限设置登录mysql[code="mysql"]mysql -u root -ppassword;[/code]设置root账号权限...2011-11-05 20:52:59 · 68 阅读 · 0 评论 -
事务、事务并发
最近工作非常郁闷,天天被领导盯着。主要是系统近来死锁发生在频率很高。最终,经过大家的共同努力,我们成功的定位并解决了问题,所以把过程中学习的知识与经验分享一下 问题背景系统中有一个账户模块,负责管理和维护会员的各种资金及明细,对外的功能涉及资金的增加与扣减等。通过监控系统发现,当外围系统并发访问和调用同一个会员的账户功能接口的时候,就会发生死锁和响应超时的情况,所以问题的分析还得从事务的并发原创 2014-12-31 18:00:08 · 801 阅读 · 0 评论 -
深入浅出Redis(二)高级特性:事务
第一篇中介绍了Redis是一个强大的键-值仓储,支持五种灵活的数据结构。事实上,Redis还支持其它的一些高级特性:事务、发布与订阅、管道、脚本等,本篇我们来看一下事务。前一篇中我们提到,在Redis中每个命令都是原子性的,因为Redis内部的实现是单线程的。当然Redis也支持多个命令之间的事务,不过事务在Redis中相对来说很简单,不像数据库事务那样涉及传播级别、隔离级别等特性。原创 2015-03-17 09:02:59 · 753 阅读 · 0 评论 -
深入浅出Redis(一)简介
官方描述Redis是一个开源的,支持网络、基于内存亦可持久化的日志型键-值仓储。个人认为这样描述过于简单,不足以体现出Redis的强大。Redis比起传统的键-值仓储要强大许多,事实上Redis支持五种数据结构,而传统的键-值存储只是其中之一。要真正认识Redis的强大所在,就必须理解它所支持的五种数据结构,如何操作它们以及它们能够解决哪些类型的问题。原创 2015-03-02 19:29:40 · 1120 阅读 · 0 评论 -
深入浅出Redis(三)高级特性:管道
Redis是一个响应式的服务,当客户端发送一个请求后,就处于阻塞状态等待Redis返回结果。这样一次命令消耗的时间就包括三个部分:请求从客户端到服务器的时间、结果从服务器到客户端的时间和命令真正执行时间,前两个部分消耗的时间总和称为RTT(Round Trip Time),当客户端与服务器存在网络延时时,RTT就可能会很大,这样就会导致性能问题。管道(Pipeline)就是为了改善这个情况的,利用原创 2015-03-19 17:16:11 · 974 阅读 · 0 评论 -
MySQL InnoDB锁机制(二)
上一篇文章我们提到MySQL InnoDB对数据行的锁定类型一共有四种:共享锁(读锁,S锁)、排他锁(写锁,X锁)、意向共享锁(IS锁)和意向排他锁(IX锁),今天我们要讨论的是MySQL InnoDB对数据行的锁定方式。 MySQL InnoDB支持三种行锁定方式:行锁(Record Lock):锁直接加在索引记录上面。间隙锁(Gap Lock):锁加在不存在的空闲空间...原创 2014-12-14 22:21:41 · 110 阅读 · 0 评论