为什么需要插入意向锁?
4其乐融融 发布于 2023/07/04 03:20:10
本文基于 MySQL 8.0.32 源码,存储引擎为 InnoDB,事务隔离级别为可重复读。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/07/04 03:20:10
本文基于 MySQL 8.0.32 源码,存储引擎为 InnoDB,事务隔离级别为可重复读。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/07/04 03:20:07
mysql版本大于5.6的话,增加的安全提醒机制,则会出现警告:Warning: Using a password on the command line interface can be insecure. 使用 mysqldump 命令备份 MySQL 数据库时,我们使用了 -p 参数带上了密码,这样虽然可以快速备份,但是密码会在命令行中明文可见,容易被窃取。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/07/03 03:20:14
本文我们介绍了使用 XORM 操作 MySQL 时,新手读者朋友们可能会遇到的陷阱,希望可以给大家带来一些帮助。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/06/30 03:20:07
数据库触发器是一种解决MySQL和Redis数据一致性的方案。通过在数据库中设置触发器,可以实现在数据发生变动时自动触发相应的操作,从而保持数据库和缓存之间的数据一致性。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/06/28 03:20:16
将解析binlog和执行SQL语句的两个过程分别由两个线程来执行。其中,解析binlog的线程每次解析完一个事件后通过队列将SQL语句传给SQL执行线程,SQL执行线程从队列中取出SQL语句并按顺序依次执行,这样就保证了SQL语句的串行执行。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/06/28 03:01:11
ckpt阻塞了log file switch。这个问题在宕机4小时前故障就发生了,同时xit中出现了大量的ROW CACHE LOCK WAIT TOO LONG的告警。如果我们能够及时发现这个告警,杀掉mmon或者调整statistics_level可解决问题,避免宕机出现。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/06/27 03:20:11
最近我在配置一个监控面板,其中的数据由 Prometheus 和 MySQL 组成;简单来说就是一个指标的查询条件是从数据库中来的。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/06/27 03:01:07
从tree dump里,我们可以看到枝节点和叶节点的信息,了解树的高度(level),从而了解树的倾斜情况。如果Level过大了,那么肯定是存在问题的。一般情况下,索引树的高度顶多也就是3-4层,如果索引很小,层数很高,那么你就可以试试是否能通过rebulid来优化索引了。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/06/26 03:20:06
保证所有的操作都作为 一个工作单元来执行,即使出现了异常,都不能改变这种执行方式。当在一个事务中执行多个操作时,要么所有的事务都被提交( commit ),这些修改永久地保存下来;要么放弃所有的修改 ,整个事务回滚( rollback )到最初状态。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/06/24 03:20:31
日前,Stack Overflow面向90000名开发人员进行的一项调查显示,PostgreSQL在数据库引擎的选择上领先于MySQL,这与往年的调查相比有了显著变化。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/06/24 03:20:28
让我们从客户端(Client)开始。当你在应用程序中执行一个插入操作时,客户端就会发送一个SQL语句给MySQL服务器,告诉它你想要插入什么样的数据。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/06/24 03:20:26
要想在项目中操作数据库, 首先要安装操作 MySQL 数据库的第三方模块(mysql), 借助mysql 模块连接到 MySQL 数据库, 执行 SQL 语句,具体的流程如下图所示。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/06/24 03:20:22
在 DDL 执行前或执行时,其他事务可以获取 MDL。由于需要用到 exclusive MDL,所以必须要等到其他占有 metadata lock 的事务提交或回滚后才能执行上面两个涉及到 MDL 的地方。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/06/24 03:20:17
MySQL 8.0.29 引入了 instant add/drop column 功能,支持在任意位置添加 column, drop column 也不需要表数据的任何形式的移动, 只需要修改表的元数据就可以完成 add/drop column,所以 instant add/drop column 的操作是轻型操作,速度快,资源需求量少。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/06/24 03:20:14
触发器,就是一种特殊的存储过程。触发器和存储过程一样是一个能够完成特定功能、存储在数据库服务器上的SQL片段,但是触发器无需调用,当对数据库表中的数据执行DML操作时自动触发这个SQL片段的执行,无需手动调用。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/06/24 03:20:12
我们先来了解一下什么是分库分表。分库分表是指将原本存储在单一数据库中的数据,拆分到多个数据库或者多个数据表中。这样做的目的是为了提高数据库的扩展性和性能,解决单一数据库在数据量和并发访问上的瓶颈。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/06/24 03:20:09
如果 MySQL 服务器在崩溃恢复时发现二进制日志比应有的短,则它至少缺少一个成功提交的 InnoDB 事务。如果 sync_binlog=1 并且磁盘/文件系统在请求时进行实际同步(有些则没有),则不会发生这种情况,所以服务器打印一条错误消息日志。在这种情况下,此二进制日志不正确,应从源数据的新快照重新启动复制。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/06/24 03:20:06
数据按需取用。有时候我们会忽略多拿数据对查询性能的影响,然而优化是一个锱铢必较的事情,需要多少数据就查询多少,要尽量避免数据库查询 100 条,结果前端只展示 10 条这种情况。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/06/24 03:20:03
Innodb是MySQL的执行引擎,MySQL是一种关系型数据库,而Redis是一种非关系型数据库。这两者之间比较大的区别是:关系型数据库以表的形式进行存储数据,而非关系型数据库以Key-value的形式存储数据。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/06/24 03:10:45
MyBatis是一个支持普通SQL查询、存储及高级映射的持久层框架,它几乎消除了JDBC的冗余代码。使Java开发人员可以使用面向对象的编程思想来操作数据库。对于MyBatis的工作原理和操作流程的理解,我们先来看下面的工作流程图。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/06/24 03:10:41
DBLINK是我们日常查询管理经常要使用到的一个利器,可以很方便的将原本隔开的两个数据库建立起连接。为我们跨库查询提供一个非常便捷的方法。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/06/24 03:10:39
MySQL中经常遇到事务中的SQL正在执行或执行完成后未提交,如何找出对应的SQL?
阅读()评论(0)赞 ()
其乐融融 发布于 2023/06/24 03:10:29
针对MySQL数据库如何发现慢SQL、如何优化及预防进行了一次分享,其中主要的理论内容先分享给大家,案例因涉及业务信息,待修改后于后期逐步分享。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/06/24 03:10:25
数据库中表存在重复数据,需要清理重复数据,清理后保留其中一条的情况是比较常见的需求,如何通过1条SQL准确的删除数据呢?
阅读()评论(0)赞 ()
其乐融融 发布于 2023/06/24 03:10:18
SQL 是一种非常常见但功能强大的工具,它可以帮助从任何数据库中提取、转换和加载数据。
阅读()评论(0)赞 ()