其乐融融的IT技术小站

MySQL

MySQL

Explain 显示 Count(*) 使用了索引,实际却是全表扫描

5

其乐融融 发布于 2023/07/11 03:20:16

从 8.0.17(含)版本开始,直到目前的最新版本(8.0.33),如果表中有二级索引,explain 输出的执行计划也表示会使用二级索引,然而,实际执行过程中,InnoDB 却会强制进行全表扫描,以使用主键索引的并行扫描能力。

阅读()评论(0)赞 ()

MySQL

MySQL的match函数在sp中使用的Bug解析

0

其乐融融 发布于 2023/07/06 03:20:07

在一次开发中在sp中使用MySQL PREPARE​以后,使用match AGAINST​语句作为prepare stmt的参数后,发现执行第二遍call会导致数据库crash,于是开始动手调查问题发生的原因。

阅读()评论(0)赞 ()

MySQL

数据库:MySQLDump用法详解,你学会了吗?

4

其乐融融 发布于 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)赞 ()

MySQL

MySQL 和 Redis 数据一致性有哪些解决方案

0

其乐融融 发布于 2023/06/30 03:20:07

数据库触发器是一种解决MySQL和Redis数据一致性的方案。通过在数据库中设置触发器,可以实现在数据发生变动时自动触发相应的操作,从而保持数据库和缓存之间的数据一致性。

阅读()评论(0)赞 ()

MySQL

MySQL事务及并发下所引发的问题详解

7

其乐融融 发布于 2023/06/26 03:20:06

保证所有的操作都作为 一个工作单元来执行,即使出现了异常,都不能改变这种执行方式。当在一个事务中执行多个操作时,要么所有的事务都被提交( commit ),这些修改永久地保存下来;要么放弃所有的修改 ,整个事务回滚( rollback )到最初状态。

阅读()评论(0)赞 ()

MySQL

MySQL败给了PostgreSQL!

4

其乐融融 发布于 2023/06/24 03:20:31

日前,Stack Overflow面向90000名开发人员进行的一项调查显示,PostgreSQL在数据库引擎的选择上领先于MySQL,这与往年的调查相比有了显著变化。

阅读()评论(0)赞 ()

MySQL

MySQL:一条数据的存储之旅

1

其乐融融 发布于 2023/06/24 03:20:28

让我们从客户端(Client)开始。当你在应用程序中执行一个插入操作时,客户端就会发送一个SQL语句给MySQL服务器,告诉它你想要插入什么样的数据。

阅读()评论(0)赞 ()

MySQL

聊聊 MySQL 的 Online DDL

4

其乐融融 发布于 2023/06/24 03:20:22

在 DDL 执行前或执行时,其他事务可以获取 MDL。由于需要用到 exclusive MDL,所以必须要等到其他占有 metadata lock 的事务提交或回滚后才能执行上面两个涉及到 MDL 的地方。

阅读()评论(0)赞 ()

MySQL

MySQL 8.0.29 instant DDL 数据腐化问题分析

6

其乐融融 发布于 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)赞 ()

MySQL

MySQL中创建触发器需要执行哪些操作?

2

其乐融融 发布于 2023/06/24 03:20:14

触发器,就是一种特殊的存储过程。触发器和存储过程一样是一个能够完成特定功能、存储在数据库服务器上的SQL片段,但是触发器无需调用,当对数据库表中的数据执行DML操作时自动触发这个SQL片段的执行,无需手动调用。

阅读()评论(0)赞 ()

MySQL

MySQL分库分表全攻略:从小白到大神的进阶指南!

1

其乐融融 发布于 2023/06/24 03:20:12

我们先来了解一下什么是分库分表。分库分表是指将原本存储在单一数据库中的数据,拆分到多个数据库或者多个数据表中。这样做的目的是为了提高数据库的扩展性和性能,解决单一数据库在数据量和并发访问上的瓶颈。

阅读()评论(0)赞 ()

MySQL

快速带你读懂MySQL的Binlog写入机制

1

其乐融融 发布于 2023/06/24 03:20:09

如果 MySQL 服务器在崩溃恢复时发现二进制日志比应有的短,则它至少缺少一个成功提交的 InnoDB 事务。如果 sync_binlog=1 并且磁盘/文件系统在请求时进行实际同步(有些则没有),则不会发生这种情况,所以服务器打印一条错误消息日志。在这种情况下,此二进制日志不正确,应从源数据的新快照重新启动复制。

阅读()评论(0)赞 ()

MySQL

什么时候 MySQL 查询会变慢?

2

其乐融融 发布于 2023/06/24 03:20:06

数据按需取用。有时候我们会忽略多拿数据对查询性能的影响,然而优化是一个锱铢必较的事情,需要多少数据就查询多少,要尽量避免数据库查询 100 条,结果前端只展示 10 条这种情况。

阅读()评论(0)赞 ()

MySQL

InnoDB为什么不用跳表,Redis为什么不用B+树?

1

其乐融融 发布于 2023/06/24 03:20:03

Innodb是MySQL的执行引擎,MySQL是一种关系型数据库,而Redis是一种非关系型数据库。这两者之间比较大的区别是:关系型数据库以表的形式进行存储数据,而非关系型数据库以Key-value的形式存储数据。

阅读()评论(0)赞 ()