目录更新缓存? 删除缓存?先更新缓存再更新数据库先更新数据库,再更新缓存先删除缓存再更新数据库先更新数据库,再删除缓存解决方案1. 重试2. 异步重试2.1 使用消息队列实现重试2.2 Binlog实现异步重试删除3. 延时双删总结Redis与MySQL双写一致性是指在使用缓存和数据库同时存储数据的场景下( 主要是存在高并发的情况),如何保证两者的数据一致性 ......
346
0
0
2023-04-22
目录1. 内连接2.外连接左外连接:右外连接:满外连接:3. SQL99语法实现多表查询3.1 SQL99实现内连接3.2 SQL99语法实现外连接3.2.1 左外连接3.2.2 右外连接3.2.3 满外连接4.总结:七种SQL JOINS的实现4.1 内连接4.2 左外连接4.3 右外连接4.4 第四种JOIN4.5 第五种JOIN4.6 满外连接方法一方 ......
297
0
0
2023-04-19
目录1.最左前缀原则2. 计算、函数使索引失效3. 类型转换导致索引失效4. 不等于(<>或!=)导致索引失效5. is not null /is null可能不走索引,也可以走索引6. 模糊匹配Like以%开头7. OR前后的条件列不是索引,导致索引失效哪些情况导致的索引失效,下面具体来了解一下1.最左前缀原则在MySQL数据库中,联合索引遵守 ......
342
0
0
2023-04-17
Redo日志可以说是关系型数据库的精髓之一,GreatSQL技术社群的这篇文章《图文结合带你搞懂MySQL日志之Redo Log(重做日志)》,作了全面讲解。导读前言请读者注意:本文基于 GreatSQL 8.0.25 & MySQL 5.7.7-RC版本,在 MySQL8.0.30 Redo 发生变化,详情见: MySQL 8.0.30动态redo ......
459
0
0
2023-04-12
目录一,存储过程介绍二,存储过程的优缺点 三,存储过程的创建与调用3.1,存储过程中的常用语法及参数3.2,存储过程的使用四,存储过程中的变量及使用细则4.1,变量定义4.2,变量赋值4.3,用户变量的使用4.4,存储过程的一些常用查看命令五,常用的存储过程的控制语句5.1,条件语句5.1.1,if-then-else5.1.2,case语句5.2 ......
368
0
0
2023-04-11
写在前面本文有点长, 不耐心的可以直接看总结.说明也可以使用gdb查看生成binlog过程的, 但是太复杂了... 还是看源码注释方便点.本文主要介绍的binlog 4的格式,下面使用的均是binlog4的情况, 然后使用python解析该格式与mysqlbinlog做对比.解析binlog的工具有: mysqlbinlog, binlog2sql, pym ......
490
0
0
2023-04-07
今天在学习mysql 二进制日志的时候需要在编辑my.cnf的文件,产生的一系列报错,个人的排错思路和方法,仅供参考。重启damon、重启mysql 发现报错Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/mysqld.pid).发 ......
446
0
0
2023-04-05
MySQL自定义函数和存储过程一、介绍MySQL函数是一些具有特定功能的方法,在编写sql时,可以进行使用,从而完成对数据的处理。存储过程的话,更像是一些特定功能的sql组合而成的sql语句集合,由于它的事先编译,通过传入参数来执行这个过程,可以使得,在某些场景下利用存储过程的情况,达到一些快捷方便的功能。一起来看看他们的定义和写法把。首先,加一下基础的表格 ......
342
0
0
2023-03-28
关于MySQL的几道面试题一、介绍MySQL大家都很熟悉了,最常用的开源数据库,也是面试官高发常问的技术。简单列出几道MySQL的几道面试题,一起来看看B树和B+树之间的区别是什么Innodb中的B+树有什么特点Innodb中的索引和B+树B+树可以存储多少的数据索引类型有哪些索引失效的场景二、问题1)B树和B+树之间的区别是什么大家都知道,MySQL中使用 ......
328
0
0
2023-03-27
我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,所以查询语句的优化显然是重中之重。本文旨在以开发工程师的角度来解释数据库索引的原理和如何优化慢查询。MySQL索引原理1.索引目的索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯 ......
351
0
0
2023-03-26
目录CREATE TABLECREATE TABLE … LIKECREATE TABLE … SELECT总结SQL 标准使用 CREATE TABLE 语句创建数据表;MySQL 则实现了三种创建表的方法,支持自定义表结构或者通过复制已有的表结构来创建新表,本文给大家分别介绍一下这些方法的使用和注意事项。CREATE TABLECREATE TABLE ......
333
0
0
2023-03-26
目录为什么要建立索引?哪些情况适合建立索引?那么哪些情况下适合建索引?哪些情况下不适合建索引?为什么索引是使用B+树?(重点)索引分为那几类?什么是聚簇索引?(重点)使用聚簇索引的优缺点?(知道)为什么推荐使用自增主键作为索引?(知道)什么叫回表?(重点)什么叫索引覆盖?(重点)什么是最左前缀原则?(重点)MySQL索引失效的几种情况(重点)常见的索引优化手 ......
350
0
0
2023-03-24
MySQL 有很多内置的函数,以下列出了这些函数的说明。​​MySQL 字符串函数​​函数描述实例ASCII(s)返回字符串 s 的第一个字符的 ASCII 码。返回 CustomerName 字段第一个字母的 ASCII 码: ​​SELECT ASCII(CustomerName) AS NumCodeOfFirstChar FROM Customers ......
290
0
0
2023-03-19
1)对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2)应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。3)应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t ......
393
0
0
2023-03-17
目录基本介绍1.primary key(主键)细节说明2.not null(非空)3.unique(唯一)unique细节4.foreign key(外键)foreign key(外键)语法外键细节说明5.checkcheck6.练习7.自增长基本介绍约束用于确保数据库的数据满足特定的商业规则在mysql中,约束包括:not null,unique,prim ......
336
0
0
2023-03-14