数据结构与算法

MySQL——并发insert on duplicate key update遇见死锁

前言 数据库死锁问题,是一个老生常谈且很常见的问题,网上也有非常多对于各类死锁场景的解析和复现,但凡和死锁有关,无外乎不涉及数据库隔离等级、索引、以及innodb锁等相关原因。 一、问题的背景: 我们的数据库中的发生死锁的表是具有”多列组合构建的唯一索引“(不包含自增的主键),且数据库的隔离等级为Read Committed,另外对于这个表来说是写入远大于读取的,由于业务的原因,经常会出现同一数据

MySQL索引

索引 索引并不是越多越好,要根据查询有针对性的创建,考虑在WHERE和ORDER BY命令上涉及的列建立索引,可根据EXPLAIN来查看是否用了索引还是全表扫描 应尽量避免在WHERE子句中对字段进行NULL值判断,否则将导致引擎放弃使用索引而进行全表扫描 值分布很稀少的字段不适合建索引,例如"性别"这种只有两三个值的字段 字符字段只建前缀索引 字符字段最好不要做主键 不用外键,由程序保证约束

MySQL两阶段提交串讲

目录: 一、吹个牛 二、事务及它的特性 三、简单看下两阶段提交的流程 四、两阶段写日志用意? 五、加餐:sync_binlog = 1 问题 六、如何判断binlog和redolog是否一致 七、两阶段提交设计的初衷 - 分布式事务 八、再看MySQL两阶段写日志 九、留一个彩蛋 十、推荐阅读 一、吹个牛 面试官的一句:“了解MySQL的两阶段提交吗?” 不知道问凉了多少人! 这篇文章白日梦就

windows版mysql8.0安装详解

windows版mysql8.0安装详解 下载mysql8.0下载地址: 下载完成后将其解压到自定义目录下,我所有的工具都保存在D:\tools,解压完成后会看见以下目录: 随后,配置环境变量(我的电脑点右键,然后点属性,然后点击环境变量),步骤如下: 此

Pig4Cloud之jasypt 配置文件加密

简介 Jasypt是一个Java简易加密库,用于加密配置文件中的敏感信息,如数据库密码。jasypt库与springboot集成,在实际开发中非常方便。 引入Jasypt依赖 <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spri

【总结】维度数据建模过程及举例

数据仓库2.png 1. 摘要 本文介绍数据仓库中维度数据建模的过程描述,并举一个示例以加深对相关概念的理解。 2. 内容 2.1 维度模型定义 维度模型是数据仓库领域大师Ralph Kimall所倡导,他的《数据仓库工具箱》,是数据仓库工程领域最流行的数仓建模经典。维度建模以分析决策的需求出发构建模型,构建的数据模型为分析需求服务,因此它重点解决用户如何更快速完成分析需求,同时还有较

elasticsearch分片unassign问题处理

1、查询集群状态(当前为yellow) curl -s ?v 2、查询分片情况 curl -s |grep -i unassign 看到有四个分片是 unassign,目前都是副本分区,不是主分区 item_sold_v5 5 r UNASSIGNED item

15分钟掌握Elasticsearch 8大核心概念与基础用法

Elastic已经形成了一个较为庞大的生态,这个生态的核心就是Elasticsearch。初学者的重点就是如何快速地了解并使用Elasticsearch,本文总结了Elasticsearch的8大核心概念和安装、用法,15分钟实现入门并且掌握Elasticsearch的简单使用。 blog-thumb-release-endpoint-security.png 01、核心概念 索引