
数据库与sql
文章平均质量分 83
还是转转
https://github.com/howely
展开
-
从hibernate并发更新报错问题说起
Hibernate是JPA的实现,SpringDataJpa是在JPA的基础上封装的,主要是降低使用JPA的复杂性。原创 2023-06-05 16:24:49 · 1385 阅读 · 0 评论 -
Hibernate懒加载问题
Hibernate懒加载获取到的是代理对象,只包含id。只要在实际使用时才会触发真正的数据库操作。原创 2023-02-14 11:43:28 · 324 阅读 · 0 评论 -
Postgres中jsonb类型
Jsonb类型PostgresSql支持两种JSON数据类型:json和jsonb。json类型以文本形式存储json对象,输入的文本是什么样的,存储的文本就是什么样的。每次处理时需要解析和分析文本格式的json,另外还存储了不必要的空白字符和重复键。jsonb类型将文本格式的json对象转换为二进制格式,并删除了不需要的空格及重复键。如果在输入中指定了重复的健,只有最后一个值会被保留。最重要的一点:jsonb支持索引通常情况下,选择用jsonb就可以,除非有特殊需求,比如对键值的顺序有要求。操原创 2022-01-25 19:11:53 · 3856 阅读 · 0 评论 -
postgres操作指南
安装使用mac可以通过命令行用brew来安装或者直接下载安装包来安装,网上资料很多,这里就不介绍了。如果通过brew来安装的,可以通过brew services start/stop postgres来开启或停止。还有一种方法是通过docker来跑,这里以mac桌面版为例,创建启动脚本pg-docker-compose.yml:# Use postgres/example user/password credentialsversion: '3.1'services: pgsql:原创 2021-11-26 11:11:56 · 7358 阅读 · 0 评论 -
Mysql在线添加索引
在实际工作中,经常遇到需要给数据库表添加索引的情况。虽然操作是由dba来执行,但开发还是应该了解在线添加索引会引起的性能问题。比如博主最近就遇到了线上添加索引导致业务报警的问题。问题描述出于业务需要,给一个表添加普通索引,但这个表有100个分表,因此需要给100个分表都加上。平均每张表大概有500万行的数据量。线上业务流量也比较高。mysql版本为5.7版本,在线添加索引问题不大。跟dba商量好之后,提交sql脚本由dba实施。经实践发现,平均一张表添加索引大概需要3~5分钟。在添加完20多张表之后,原创 2021-01-13 23:15:28 · 4177 阅读 · 0 评论 -
(2006,Mysql Server has gone away)问题处理
最近遇到了一个奇怪的问题,更换mysql db的连接地址之后,偶尔出现简单的sql查询语句报(2006,Mysql Server has gone away)错误。暂未找到原因,不过大概的排查过程可以记录下。原因分析根据Mysql官网的描述,可能的原因如下:1.Mysql服务宕机可通过show status like ‘uptime’;来查询服务器运行时间:排除服务器宕机问题。2.Mysql连接超时通过show global variables like '%timeout';查看超时参数原创 2020-08-01 22:11:13 · 2974 阅读 · 0 评论 -
Mongo集群
Mongodb的集群搭建方式主要有三种,主从模式,Replica set模式,sharding模式。其中副本集模式Replica set应用最为广泛,主从模式使用较少,sharding模式即分片存储,配置较为复杂。Replica Set即副本集方式主要有两个目的,一个是数据冗余做故障恢复使用,当发生硬件故障或其他原因造成的宕机时,可以使用副本进行恢复。另一个是读写分离,读请求分流到副本上,减轻...原创 2019-08-29 22:32:04 · 490 阅读 · 0 评论 -
python操作mongo
在python中,连接并操作mongo主要使用了pymongo库。mongo连接先看一个最简单的栗子:import pymongoclient = pymongo.MongoClient(host='localhost', port=27017)db = client.mytestcollection = db.Personresult = collection.find_one...原创 2019-05-14 14:21:21 · 1887 阅读 · 0 评论 -
读书笔记: 数据库与MySql(3)
本文将主要介绍MySql数据库的锁机制,内容主要出自《MySql性能调优与架构优化》。MySql数据库锁定机制为了保证数据的一致性,任何一个数据库都存在锁定机制。锁定机制的优劣直接影响到一个数据库系统的并发处理能力和性能,所以锁定机制的实现也就成为了各种数据库的核心技术之一。7.1 MySql锁定机制简介数据库锁定机制简单来说就是数据库为了保证数据的一致性而使各种共享资源在被并发访问不发...原创 2019-02-18 16:03:02 · 238 阅读 · 0 评论 -
读书笔记: 数据库与MySql(2)
索引在数据库中非常重要,它决定着数据库查询的速度。原创 2019-02-12 16:54:41 · 255 阅读 · 0 评论 -
读书笔记: 数据库与MySql(1)
MySql5.6从零开始学这本书比较基础,也是博主很早以前看过的一本书。从本章开始,博主将结合本书和《高性能MySql》进行介绍,顺便通过这次整理让自己也回顾一遍数据库与MySql知识。MySql5.6由甲骨文公司于2013年发布,后来又推出了5.7和8.0版本。...原创 2019-02-01 15:29:58 · 345 阅读 · 0 评论 -
事务的隔离性与MySql隔离级别
1 事务隔离性事务的基本要素(ACID)有四个,分别是原子性,一致性,隔离性和持久性。原子性和持久性很好理解,一致性是指事务执行过程中的状态对外是不可见的,要么是执行前的状态,要么是执行后的状态,执行前是一个一致的状态,执行后是另外一个一致性状态。比如银行卡a向银行卡b转账,转账这个事务中有两个操作:将钱从卡a转出,将钱转到卡b。转账事务执行之前状态是一致的,转账事务执行了第一个操作之后,...原创 2018-06-14 15:43:33 · 405 阅读 · 0 评论