![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
jisuanjidaye
这个作者很懒,什么都没留下…
展开
-
mysql事务行锁for update实现写锁的功能
在电子商务里,经常会出现库存数量少,购买的人又特别多,大并发情况下如何确保商品数量不会被多次购买。其实很简单,利用事务+for update就可以解决。我们都知道for update实际上是共享锁,是可以被读取的。但是如何在执行时,不被读取呢。 简单来说:假设现在库存为1,现在有A和B同时购买 1、先开启一个事务,执行sql select stock from...原创 2016-11-30 17:50:20 · 341 阅读 · 0 评论 -
mysql分库分表
LZ工作快5年了,一直没有接触过数据库分库分表的业务,这不最近借助跳槽的动力,自己搞了一波,用的是dangdang开源的一个分库分表插件,实现了简单的分库分表的功能,话不多说,代码开路,github地址https://github.com/dangdangdotcom/sharding-jdbc。 首先是jar包引用,maven以来如下 <dependen...2017-04-16 16:31:11 · 183 阅读 · 0 评论 -
分布式事务atomikos
上一篇介绍了分库分表插件,但是多库操作涉及到分布式事务问题,大家都知道分布式事务需要涉及到数据库XA驱动,oracle原本就支持,mysql在5.6版本支持了该属性,atomikos插件封装了该特性的一个中间件。现在来介绍一个atomikos的使用。 首先是jar包依赖,maven配置如下: <dependency> <groupId>...2017-04-16 16:55:43 · 605 阅读 · 0 评论 -
MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践
Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过。但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面。 因此,一般来说都是通过 主从复制(Master-Slave)的方式来同步数据,再通过读写分离(MySQL-Proxy)来提升数据库的并发负载能力 这样的方案来进行部署与实施的。...原创 2016-12-06 16:27:32 · 112 阅读 · 0 评论 -
数据库索引入门
1.什么是索引 在数据库中,索引的含义与日常意义上的“索引”一词并无多大区别(想想小时候查字典),它是用于提高数据库表数据访问速度的数据库对象。A)索引可以避免全表扫描。多数查询可以仅扫描少量索引页及数据页,而不是遍历所有数据页。B)对于非聚集索引,有些查询甚至可以不访问数据页。C)聚集索引可以避免数据插入操作集中于表的最后一个数据页。D)一些情况下,索引还可用于避免排序操作。 当然,...2017-06-30 16:38:41 · 93 阅读 · 0 评论 -
DB2异常码
db2 常见错误以及解决方案[ErrorCode SQLState] sqlcode sqlstate 说明 格式说明:ErrorCode:-302 SQLState:22001 ------------------------------------------- 000 00000 SQL语句成功完成 01xxx SQL语句成功完成,但是有警告 +012 01545 未...原创 2017-10-25 09:41:58 · 302 阅读 · 0 评论