随笔分类 -  数据库

摘要:一、业务需求: 当操作积分用户表时,如果accountId在表中没有数据,那么我们新增一条数据,设置用户积分。如果accountId在表中有数据,我们需要更新用户积分。 这个操作简单来说就是: 在单线程下 我们先查询后处理当然没有问题,但是在并发下问题就显而易见了,系统里可能同时插入两条一样的acc 阅读全文
posted @ 2019-10-31 20:03 一枝花算不算浪漫 阅读(5219) 评论(4) 推荐(1) 编辑
摘要:前言 上周新系统改版上线,上线第二天就出现了较多的线上慢sql查询,紧接着dba 给出了定位及解决方案,这里较多的是使用延迟关联去优化。 而我对于这个延迟关联也是第一次听说(o(╥﹏╥)o),所以今天一定要学习并产出一篇学习笔记。(^▽^) 回表 我们都知道InnoDB采用的B+ tree来实现索引 阅读全文
posted @ 2019-06-16 14:23 一枝花算不算浪漫 阅读(11316) 评论(3) 推荐(4) 编辑
摘要:前言 服务重构,老版系统为php代码,新版系统改为Java。 数据层面沿用之前老版服务的数据库结构,部分库字段进行修改。 最终目的:服务实现切换,数据实现切换(老库到新库),不能停机升级,尽量减小对用户影响。 实现方案:日志追加 下面具体说一下自己的实现方案,可能会有纰漏的地方,仅做参考。 日志追加 阅读全文
posted @ 2019-01-06 20:19 一枝花算不算浪漫 阅读(1327) 评论(2) 推荐(0) 编辑
摘要:之前是一直没有听过explain这个关键字的, 最近因为项目中总是会有慢查询的一些操作, 所以请教了旁边的同事帮忙排查下原因, 看到同事用explain来分析一些sql语句, 感觉好像发现了新大陆一样。 于是自己也来学习下并总结自己学到的一些知识,如有问题欢迎拍砖。 首先来做个测试, 我这里有一张表 阅读全文
posted @ 2017-08-20 20:42 一枝花算不算浪漫 阅读(991) 评论(1) 推荐(1) 编辑
摘要:因为自己有csdn和博客园两个博客, 所以两边都会发一下。 csdn地址: http://blog.csdn.net/u012881584/article/details/70194237 今天来说一个Java多机部署下定时任务的处理方案。 需求 : 有两台服务器同时部署了同一套代码, 代码中写有s 阅读全文
posted @ 2017-04-16 11:05 一枝花算不算浪漫 阅读(4477) 评论(1) 推荐(1) 编辑
摘要:为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。 在实际开发中最为常见的设计范式有三个: 1.第一范式(确保每列保持原子性) 第一范式是最基本的范式。如果数 阅读全文
posted @ 2016-08-08 22:59 一枝花算不算浪漫 阅读(599) 评论(0) 推荐(1) 编辑
摘要:注明: 本文转载自http://www.hollischuang.com/archives/1537在深入理解乐观锁与悲观锁一文中我们介绍过锁。本文在这篇文章的基础上,深入分析一下乐观锁的实现机制,介绍什么是CAS、CAS的应用以及CAS存在的问题等。 线程安全 众所周知,Java是多线程的。但是, 阅读全文
posted @ 2016-05-18 22:25 一枝花算不算浪漫 阅读(3276) 评论(0) 推荐(1) 编辑
摘要:注明: 本文转载自http://www.hollischuang.com/archives/934在数据库的锁机制中介绍过,数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。 乐观并发控制(乐观锁)和悲观并发控制(悲观 阅读全文
posted @ 2016-05-18 22:22 一枝花算不算浪漫 阅读(14354) 评论(1) 推荐(1) 编辑
摘要:注明: 本文转载自http://www.hollischuang.com/archives/923在MySQL中的行级锁,表级锁,页级锁中介绍过,行级锁是Mysql中锁定粒度最细的一种锁,行级锁能大大减少数据库操作的冲突。行级锁分为共享锁和排他锁两种,本文将详细介绍共享锁及排他锁的概念、使用方式及注 阅读全文
posted @ 2016-05-18 22:20 一枝花算不算浪漫 阅读(3846) 评论(0) 推荐(0) 编辑
摘要:注明: 本文转载自http://www.hollischuang.com/archives/914在计算机科学中,锁是在执行多线程时用于强行限制资源访问的同步机制,即用于在并发控制中保证对互斥要求的满足。 在数据库的锁机制中介绍过,在DBMS中,可以按照锁的粒度把数据库锁分为行级锁(INNODB引擎 阅读全文
posted @ 2016-05-18 22:19 一枝花算不算浪漫 阅读(3119) 评论(1) 推荐(0) 编辑
摘要:注明: 本文转载自http://www.hollischuang.com/archives/898 数据库的读现象浅析中介绍过,在并发访问情况下,可能会出现脏读、不可重复读和幻读等读现象,为了应对这些问题,主流数据库都提供了锁机制,并引入了事务隔离级别的概念。 并发控制 在计算机科学,特别是程序设计 阅读全文
posted @ 2016-05-18 22:17 一枝花算不算浪漫 阅读(1069) 评论(0) 推荐(0) 编辑
摘要:注明: 本文转载自http://www.hollischuang.com/archives/943 本文详细介绍四种事务隔离级别,并通过举例的方式说明不同的级别能解决什么样的读现象。并且介绍了在关系型数据库中不同的隔离级别的实现原理。 在DBMS中,事务保证了一个操作序列可以全部都执行或者全部都不执 阅读全文
posted @ 2016-05-18 22:00 一枝花算不算浪漫 阅读(829) 评论(10) 推荐(0) 编辑
摘要:注明: 本文转载自http://www.hollischuang.com/archives/900 “读现象”是多个事务并发执行时,在读取数据方面可能碰到的状况。先了解它们有助于理解各隔离级别的含义。其中包括脏读、不可重复读和幻读。 脏读 脏读又称无效数据的读出,是指在数据库访问中,事务T1将某一值 阅读全文
posted @ 2016-05-18 21:59 一枝花算不算浪漫 阅读(644) 评论(0) 推荐(0) 编辑
摘要:注明: 本文转载自http://www.hollischuang.com/archives/898 事务 事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。在计算机术语中,事务通常就是指数据库事务。 概念 一 阅读全文
posted @ 2016-05-18 21:57 一枝花算不算浪漫 阅读(1316) 评论(0) 推荐(1) 编辑
摘要:前言:上一篇文章中讲了DBCP的用法以及实现原理, 这一篇再来说下C3P0和JDNI的用法. 1.1、C3P0数据源 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。C3P0数据源在 阅读全文
posted @ 2016-05-14 12:19 一枝花算不算浪漫 阅读(1354) 评论(2) 推荐(0) 编辑
摘要:前言对于数据库连接池, 想必大家都已经不再陌生, 这里仅仅设计Java中的两个常用数据库连接池: DBCP和C3P0(后续会更新). 一. 为何要使用数据库连接池假设网站一天有很大的访问量,数据库服务器就需要为每次连接创建一次数据库连接,极大的浪费数据库的资源,并且极易造成数据库服务器内存溢出、拓机 阅读全文
posted @ 2016-05-06 23:13 一枝花算不算浪漫 阅读(25774) 评论(0) 推荐(5) 编辑
摘要:前言:想必大家在实际编码中都遇到过JDBC的操作, 这里仅做自己的一个总结, 有错误和不完整之处还请大家提出来. 1,JDBC其实一套规范(接口)数据库厂商需要实现此接口(实现类)--数据库驱动 2,jdbc的作用: 可以和数据库创建链接 发送sql语句 接收返回值,处理结果 3,api详解(jav 阅读全文
posted @ 2016-04-10 09:54 一枝花算不算浪漫 阅读(1412) 评论(0) 推荐(1) 编辑
摘要:前言今天逛java吧看到了一个面试题, 于是有了今天这个文章, 回顾下Group By的用法.题目如下:Select name from table group by name having count(*) = 10; 解释: 根据(by)一定的规则进行分组(Group) 所以就是根据题中的nam 阅读全文
posted @ 2016-04-09 23:28 一枝花算不算浪漫 阅读(39152) 评论(0) 推荐(2) 编辑