中间件与数据库:MySQL
MySQL在并发场景下的问题及解决思路
这篇文章讨论了数据库系统中的并发问题,以MySQL数据库为例。文章通过一个案例展示了使用MyISAM存储引擎时的表锁问题,导致读写操作串行执行。为解决这个问题,文章提出了几种解决办法:1)避免使用MyISAM存储引擎,推荐使用InnoDB存储引擎;2)尽量减少写操作时间;3)在线上修改表结构时需要注意风险。同时,文章提到从MySQL 5.6开始,引入了online ddl功能,可以允许一些DDL语句和DML语句并发执行。然而,对于特定场景,DML是否会被阻塞仍需根据具体情况确定。文章还推荐使用percona公司的pt-online-schema-change工具进行在线表结构变更。
一个“异常”的索引选择
在处理一个用户性能问题的时候, 发现有一个全表扫描语句, 上下文如下: 这是很奇怪的, Tips: MySQL在执行条件判断时,若参数类型与字段类型不匹配, 则会作类型转换, 符合转换规则的, 转换完成后可以利用索引 而当参数为字符串,字段类型为整型时, 这个转换是
赶集mysql军规
赶集mysql军规,有收获就好。
谈谈 MySQL 隐式类型转换
今天我们继续回到MySQL系列文章中,谈一谈MySQL中隐式类型转换。
USE DB导致MySQL大堵塞故障?
看着都奶疼的故障案例
MySQL SQL优化之覆盖索引
AI + 网络安全商业案例白皮书,快来下载!” 前些天,有个同事跟我说:“我写了个 SQL,SQL 很简单,但是查询速度很慢,并且针对查询条件创建了索引,然而索引却不起作用,你帮我看看有没有办法优化?”。 我对他提供的 case 进行了优化
MySQL 主从复制的常用拓扑结构
MySQL不支持多主服务器复制(Multimaster Replication)——即一个slave可以有多个master。但是,通过一些简单的组合,我们却可以建立灵活而强大的复制体系结构。
如何使用简单的 SQL 查询在 MySQL 中计算中位数
数值型数组的中位数是在数据排序后位于数组中间项的值。如果数组有偶数个元素,中位数就是最中间的两个数值的平均数。 中位数对于了解“我的值是否位于中间?”非常有用。比如,我在学校的最后一次考试中得了 D (或 80),那么我的在全班同学中的
MySQL优化原理
前言 说起MySQL的查询优化,相信大家收藏了一堆:不能使用SELECT *、不使用NULL字段、合理创建索引、为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原理? 在实际场景下性能真有提升吗?我想未必。因而理解这些优化建议背后的原理就尤为重要,希望本
MYSQL 5.7 INNODB 表空间
InnoDB是MySQL最受欢迎的存储引擎之一,支持ACID和良好的读写性能。本文主要介绍了InnoDB表空间及其特性,包括系统表空间、数据加密、相关配置等。系统表空间存储表数据、元数据和MVCC信息,还包含数据字典、Undo空间等。通过启用InnoDB_file_per_table选项,可以在单独的表空间文件中存储每个表的数据和索引。文章还提到了双写缓冲区、Redo logs等用于崩溃恢复和防止数据丢失的机制。此外,还介绍了UNDO表空间和日志的作用、配置和优势,以及临时表空间的变化。在MySQL 5.7中,通过对临时表相关功能进行优化,将临时表的数据和回滚信息从共享表空间中分离出来,降低对其他正常表的性能影响。临时表空间文件ibtmp1会在每次服务启动时重新创建,并不用于崩溃恢复。此外,还介绍了InnoDB通用表空间的概念和用法。
记一次MySQL找回用户数据
案例:用户记录被删除,备份数据只备份10天的,而删除操作发生在40天以前,通过分析MySQL二进制日志记录找回用户数据
MySQL 5.7怎么爬出临时表空间的坑
叶师傅递手把你拉出坑 :)
MYSQL ERROR 1146 Table doesnt exist 解析
原创转载请注明出处 源码版本 5.7.14 在MYSQL使用innodb的时候我们有时候会看到如下报错: 首先总结下原因: 缺少frm文件 innodb数据字典不包含这个表 ...