
数据库
文章平均质量分 91
择维士
专注技术分享
展开
-
记录Postgresql 查询慢问题
问题线上aws rds 偶尔出现sql查询很慢 异常慢。 比如如下的一个表:最终发现是一个很普通的sql:select * from int_twilio_twilionumber where merchant_id = 1234 and active = true and "default"=trueorder by date_created limit 1这个查询竟然发了2-3分钟无法回复。调查1. 查看表大小 800MB:, 表记录大概4000条。SELEC...原创 2021-11-12 14:56:43 · 10141 阅读 · 0 评论 -
Redshift disk full 问题
select *from stl_query where query=170281811最近线上redshift disk时不时会有一个spike的问题, 需要调查下。第一步 先监控问题通过如下的java代码可以获取redshift的disk当前使用率:/** * Note this method will return the prod redshift disk usage. * * https://console.aws.amazon.com/ia.原创 2021-09-17 11:27:16 · 281 阅读 · 0 评论 -
Postgresql JDBC的 OOM问题
Abstract最近在用亚马逊的postgre rds做数据处理的过程中 发现同步某些数据时竟然会OOM.代码出问题的代码:(使用的是springboot的jdbctemplate) @Override public <T> List<T> getList(String sql, RowMapper<T> rowMapper, Object... args) { return this.jdbcTemplate.query(sql,原创 2021-05-19 21:57:03 · 747 阅读 · 2 评论 -
MySQL的锁
Abstract在Mysql如何实现隔离级别 - 可重复读和读提交 源码分析中介绍了MySQL中如何实现读提交和可重复读主要是通过版本链+ReadView组成的MVCC实现的. 但是其中还有一个很重要的点就是MySQL如何用可重复读解决幻读问题的. 本文将演示(1)MySQL的可重复读中没有幻读, PostGreSQL有的. (2) MySQL中的锁.幻读现象什么是幻读不同的隔离级别...原创 2019-11-20 14:58:06 · 302 阅读 · 0 评论 -
Mysql如何实现隔离级别 - 可重复读和读提交 源码分析
Abstract本文会(1) 演示Mysql的两种隔离级别. (2) 跟着mysql的源代码来看看它是怎么实现这两种隔离级别的.Mysql的隔离级别当有多个事务并发执行时, 我们需要考虑他们之间的相互影响. 比如 事务A写了数据d, 事务B是否应该看见呢.Mysql的事务级别包括: read uncommitted -> read commited -> rep...原创 2019-11-05 11:18:47 · 1788 阅读 · 4 评论 -
Mysql clion 源码编译调试 MacOS
Abstract本文会记录如何在macos上使用clion debug mysql源代码.环境MACOS, CLION 2019.2步骤下载源码官方GITHUB , 我clone的 防止代码后续有变化.在clion中Import as new cmake project.然后默认编译完成后 遇到如下错误:Make Error at cmake/boost.cmake:1...原创 2019-10-29 20:48:01 · 1217 阅读 · 0 评论 -
数据库系统概念笔记- 2 连接类型
常见连接类型指如下:自然连接(内连接)左外连接右外连接全连接示例数据:比如如下的数据库, 一个是prices表存储每个产品的名字和加个. 另外一个是nums表存储每个产品的名字和个数.create table prices (product varchar(32), price int);create table nums (product varchar(32), num i...原创 2019-07-31 11:21:58 · 351 阅读 · 0 评论 -
数据库系统概念学习笔记目录
事务隔离级别原创 2019-07-31 10:45:51 · 293 阅读 · 0 评论 -
postgresql 事务级别
Postgresql是一个基于多版本并发控制实现的数据库.事务隔离级别标准的事务隔离级别包括: 1. 读未提交 2. 读已提交 3. 可重复读 4. 序列化在正式的postgresql 并不包括读未提交这个隔离级别,因为出于多版本并发控制的架构考虑,默认的事务级别是“读已提交”。常见的“错误”的数据库现象:• 脏读 – 一个事务读取到了另外一个事务还没有提交的数据。 • 不原创 2016-04-12 00:12:27 · 6535 阅读 · 0 评论 -
POSTGRESQL / mysql 索引区别(where)
在如下的表中:create table aaa(a int,b int,c int,d int);create index indexabc on aaa(a,b,c);对比是否使用到了索引: 发现postgresql的索引更加智能一些. 它可以使用索引集合的任意子集 而 mysql不行. 版本: mysql 5.6.22 postgresql: 9.5 官方文档参考:原创 2016-03-17 11:48:28 · 2176 阅读 · 1 评论 -
mysql 基础安装
1.安装mysql从官网获取的zip安装包, 百度云地址 解压后: 使用windows管理员运行cmd,然后cd到解压后文件夹执行:mysqld -install 测试是否成功: (测试前需要将:mysql文件夹/bin 加入PATH环境变量) 2.修改用户名密码3.修改端口停掉mysql:net stop mysql将mysql文件夹下的my-default.ini 复制一份 重命名为:原创 2016-03-17 11:03:50 · 398 阅读 · 0 评论 -
记录最近定位的性能问题
最近定位了关于数据库相关的性能问题,模块A生成的文件过快导致数据无法及时入库的问题在整个过程中主要吸取了如下经验:【1】for循环的次数不能太多,否则再小的运算时间也会成倍增长【2】对数据库的操作 批量插入时,一定要使用COPY FROM语句,它比你想象的快很多,一个50列指标,插入24W数据,用了18s【3】如果可以,在【2】中尽量把可以合并到一次插入的数据合并到一个文件中。原创 2015-06-11 23:08:55 · 654 阅读 · 0 评论 -
关于Mysql的配置项
本文会记录如何mysql中一些常见的配置,已经实际的使用。如何安装:在zip版的mysql安装目录下:(备份my-default.ini,重命名为my.ini,在bin目录下运行cmd: mysqld -install 使用net start mysql启动mysql服务。【1】bind_address=127.0.0.1 设置绑定的IPport=3306 设定监原创 2014-12-24 21:50:01 · 541 阅读 · 0 评论 -
Spring or hibernate saveOrUpdateAll 偶然失效
最近遇到的一个问题当我们使用hibernatetemplate的saveOrUpdateAll 方法,在数据量达到一定程度时,会必然出现如下的错误:“identifier of an instance altered from X to Y”?这是很奇怪的,问题【1】该方法实现是这个样子的:public void saveOrUpdateAll(final Coll原创 2014-03-29 20:55:39 · 2621 阅读 · 0 评论