查询速度慢的原因很多,常见如下几种:
1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)
2、I/O吞吐量小,形成了瓶颈效应。
3、没有创建计算列导致查询不优化。
4、内存不足
5、网络速度慢
6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)
7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的
转载
2023-11-04 10:02:46
71阅读
一个 SQL 执行的很慢,两种情况讨论:1、大多数情况下很正常,偶尔很慢,则有如下原因(1)、数据库在刷新脏页,例如 redo log 写满了需要同步到磁盘。(2)、执行的时候,遇到锁,如表锁、行锁。2、这条 SQL 语句一直执行的很慢,则有如下原因。(1)、没有用上索引:例如该字段没有索引;由于对字段进行运算、函数操作导致无法用索引。(2)、数据库选错索引。1.数据库在刷新脏页,例如 redo
转载
2023-09-04 20:58:45
80阅读
检查 MySQL 数据库的启动时间Linux 系统中的 systemd 和 mysqld_safe 会在 mysqld 进程 crash 后自动重新启动 MySQL 的服务,需要注意的是使用 kill -9 杀死 mysqld 进程系统会自动重新启动,而只使用 kill 命令则不会重新启动,因为执行 kill 命令,系统会发送一个 SIGTERM 信号给 mysqld,mysql 数据库会正常关
转载
2023-08-08 13:18:41
187阅读
如果你问程序员害怕什么,那我觉得接手「祖传代码」肯定可以排的上名号,你永远不知道它有哪些神奇的设计,你永远不知道还有哪些彩蛋,也许在下一个转角你就能得到惊喜,最近笔者就遇到了一件让人哭笑不得的事情。事情是这样的,有一个发券的系统,产品经理准备在这个系统上加新功能,可以给券打上不同的标签,并且前端可以根据不同的标签来筛选我所获得的券,需求不算很复杂,开发,测试都很顺利,然后就上到了pr
MySQL数据库扩容的原因通常源于数据量的持续增长,这会导致性能瓶颈、响应速度下降及维护成本上升。我们在面对这样的挑战时,通常需要进行数据库扩容,以确保系统的稳定性和可持续性。以下是关于MySQL数据库扩容原因的详细记录,包括版本对比、迁移指南、兼容性处理、实战案例、排错指南及性能优化等内容。
## 版本对比
在扩容过程中,选择合适的MySQL版本至关重要。新版本往往会提供更好的性能、可用性及
0. 主从复制首先主从复制是什么?简单来说是让一台MySQL服务器去复制另一台MySQL的数据,使两个服务器的数据保持一致。这种方式与Redis的主从复制的思路没有太大的出入。如果你对Redis的主从复制感兴趣可以去看看。那既然Redis和MySQL都采用了复制这种方式,主从复制所带来的意义是什么呢?通过复制功能,构建一个或者多个从库,可以提高数据库的高可用性、可扩展性,同时实现负载均衡。当主库发
转载
2024-11-01 21:35:59
33阅读
问题描述在自建的MySQL或者是使用RDS MySQL时,我们可能会遇到CPU 100%的问题,如何去troubleshooting分析解决对于数据CPU 100%的问题来说,一般都是慢SQL致的,我们可以从如下方面来排查:1. 查看当前数据库正在运行的语句SELECT
trx_mysql_thread_id,
trx_id,
trx_state,
trx_started,
trx_qu
转载
2024-09-30 16:04:38
91阅读
文章目录一、背景二、DML导致数据丢失2.1 binlog闪回三、DDL导致数据丢失/数据文件损坏3.1 全备+binlog3.2 延迟从库[不常用,性价比不高]3.3 innodb_force_recovery3.4 fd恢复3.5 三方工具恢复3.5.1 extundelete(ext4)3.5.2 undrop-for-innodb四、总结 一、背景 在我们使用数据库时,难免会碰到数据被
转载
2023-08-08 23:46:57
2625阅读
一、MySQL都有什么锁。锁分类按锁的粒度划分行锁开销大,加锁慢,会出现死锁,并发性能高。InnoDB支持,MyISAM不支持。表锁开销小,加锁快,不会出现死锁,并发性能低。页锁介于行锁和表锁之间的一种锁,会出现死锁,并发性能一般。按锁的使用方式划分共享锁加上共享锁后,只能执行读操作,其他事务也只能对其加共享锁,不能加排它锁。排他锁加上排他锁后,其他事务不能读也不能写更不能加任何锁。按
转载
2023-08-08 09:13:55
228阅读
1.如果是云服务器的话,可以看下安全组,看下是否开放对应的接口。2.看下防火墙是否禁止了对应端口。3.mysql是否开放了远程连接权限(mysql 对应权限设置)4.我个人遇到的 : 2003(hy000):can't connect to mysql server on ip (111),把目标服务器的 /etc/mysql/my.cnf 的 bind-address = 1
转载
2023-06-01 14:07:54
278阅读
今天来到办公室,发现有一台服务器中的数据库实例停掉了。这种情况真是意料之外,尤其是我还不是很熟悉这台机器的服务。
赶紧查看数据库日志,可以看到数据库在昨晚停掉了,从日志来看没有人为的痕迹。
在宕机之前,有下面的日志。在此截取一部分。
TNS-12560: TNS:protocol adapter error
opiodr aborting process
转载
2024-08-24 14:11:12
92阅读
本文大纲:MySQL数据库开发规范MySQL高可用架构选型MySQL Sharding拆分利用NoSQL为MySQL减压一、MySQL数据库开发规范数据库规范到底有多重要?有过初创公司经历的朋友应该都深有体会。规范是数据库运维的一个基石,能有效地减少数据库出问题的概率,保障数据库schema的合理设计并方便后续自动化的管理。曾经我们花了大半年时间来做数据库规范化的工作,例如制定数据库开发指南、给程
转载
2024-08-06 08:10:42
20阅读
故障治理就得对症下药,所以治理的第一步就是明确常见的数据库故障有哪些,今天就 MySQL、缓存两个大方向来跟大家一起梳理一下。 1、MySQL作为在互联网公司广泛使用的传统意义上的数据库,MySQL 的故障可以分为以下几种: 1.1 实例不可用 数据库作为一种特殊的应用,在其生命周期内无法保证 100% 可用。数据库实例不可用的原因一般有:硬件故障:硬件故
转载
2023-12-07 05:51:42
73阅读
WIKI系统宕机恢复:由于WIKI系统为虚拟机环境,当出现问题时可直接使用镜像恢复。而且虚拟机环境故障率较低。Mysql数据库宕机恢复:mysql增量恢复必备条件:*开启mysqllog-bin日志功能
mysql数据库开启了log-bin参数记录binlog日志功能如下:
[root@wikiDB~]# grep log-bin /data/3306/my.cnf
log-bin= /data/
转载
2023-08-10 19:06:44
241阅读
前段时间部署在服务器上的网站遇到一个问题:当较长时间没有去访问网站,再次打开时就会报一个数据库连接失败的错误,不管是用ssh开发的项目还是ssm开发的项目,都有这个问题。本篇博客记录这个问题的原因与解决办法。原因:由于无论是hibernate还是mybatis开发的都存在这个问题,所以一定不是框架的原因,应该是mysql数据库的问题,查询百度后发现:mysql数据库配置文件存在以下两个参数,是负责
转载
2023-08-17 21:22:01
234阅读
一 、 解决方法1 今天连接mysql服务器的时候,出现如下问题 Communications link failure,The last packet successfully received from the server was ***
转载
2024-07-23 16:55:56
440阅读
点赞
数据库事务介绍事务的四大特性(ACID)原子性(atomicity): 事务的最小工作单元,要么全成功,要么全失败。一致性(consistency): 事务开始和结束后,数据库的完整性不会被破坏。隔离性(isolation): 不同事务之间互不影响,四种隔离级别为RU(读未提交)、RC(读已提交)、RR(可重复读)、SERIALIZABLE (串行化)。持久性(dur
转载
2024-09-13 11:17:02
22阅读
01 MySQL数据库从今天开始,我们将进入系列课程的 第四模块 的学习,这个模块就是给大家讲解MySQL数据库。以前,在开发程序时,我们会把很多的数据和信息存储到某个文件夹中的文件中,例如:user.txt 、db.xlsx 等。现在,有那么一个叫:数据库管理系统(DBMS,Database Management System)的软件,可以帮助我们实现对文件夹中的文件进行操作,而我们只要学习DB
一、背景MongoDB 提供了非常强大的性能分析及监控的命令,诸如 mongostat、mongotop 可以让我们对数据库的运行态性能了如指掌。然而,这次我们在性能环境上就遇到一个非常棘手的问题:某服务接口在 1-5分钟内偶现超时导致业务失败!在接口调用上返回超时属于前端的判断,通常是设置的一个阈值(比如 3s)。由于问题是偶现,且没办法发现有明显的规律,很难直接判断出原因。而平台在做了微服务拆
转载
2024-07-09 22:52:33
155阅读
近日遇到个卡库的问题,环境是MySQL5.5.12,报错信息如下 [ERROR] Slave SQL: Query partially completed on the master (error on master: 1317) and was aborted. There is a chan
ce that your master is inconsistent at this point.
转载
2024-10-11 11:49:37
18阅读