MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的RDBMS (Relational Database Management System,关系数据库管理系统…
在高并发数据库场景中,InnoDB 锁竞争一直是影响 MySQL 吞吐量的关键因素之一。线上业务经常出现的 TPS 波动、响应时间毛刺、连接数堆积等现象,背后往往都能追溯到行锁等待、间隙锁冲突或死锁回滚等问题。本文基于 MySQL 8.0.32 版本,在受控环境下对七种典型锁竞争场景进行了完整实测,…
在后端开发与数据库运维工作中, 定时自动执行 SQL 是高频刚需场景:过期日志清理、用户状态自动更新、月度数据统计、定时数据同步等业务,都需要实现“到点自动运行 SQL”的能力。本文从开发者实战角度,完整梳理 MySQL 实现定时执行 SQL 的两种核心方案,包含可直接落地的…
在日常开发中,我们经常会遇到字段扣减的场景,比如用户余额扣减、积分扣除、库存减少等。最近在开发过程中,我遇到了一个常见但容易忽略的问题:使用常规的 SQL 更新语句进行字段扣减时,很可能会导致字段值变成负数,进而引发业务异常。 当时我写的 SQL 语句是这样的: update wj_user set…
在日常后端开发中,MySQL 分组查询是高频操作,但很多开发者都会踩一个经典的坑 - 使用 GROUP BY 分组后,非分组字段会随机取值,导致查询结果不符合预期。最近在开发项目时,我就遇到了这样的问题,今天把问题排查和解决过程完整记录下来,希望能帮到有同样困惑的同行。 先说说我遇到的具体场景,项目…
在全栈开发与服务器运维的日常实践中,移动端环境的服务部署始终是容易被忽略但极具价值的场景。近期在 Termux 中完成 MariaDB 初始化、后台启动配置及远程访问打通的全过程,恰好印证了移动端轻量服务器搭建的核心逻辑。以下将完整复盘整个操作流程、遇到的问题及解决方案,还原从环境准备到服务可用的全…
MySQL 的 LIKE 本身没有内置权重 ,但可以通过 CASE 表达式 / 字段权重计分 的方式,手动给匹配到的字段设置优先级,让 title 匹配的结果排在最前面。 核心思路 用 OR 同时在 title 和 content 中模糊匹配 给匹配结果 打分 : title 匹配 → 最…
MySQL 提供了 3 个最常用 的字段截取函数,满足所有截取场景,直接复制就能用: 1. 从指定位置截取(最通用) SUBSTRING(str, start, length) str :要截取的字段名 start :起始位置( 从 1 开始 ,正数从左数,负数从右数) length :可选,截取长…
原因是 MySql 帐号默认不允许从远程登陆,只能在 localhost 本地访问,我们可以设置这样的配置: 你想 myuser 使用 mypassword 从任何主机连接到 MySql 服务器的话。 GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENT…
使用 Navicat 导入备份的时候,出现了 This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its 的错误,备份里面是包含了创建的函数的,在本地环境和服务器环境不一样就报错了。 问题分析 我们创建函数时必须…
再 SQL 优化中,我们经常需要去找那些查询比较耗时的语句,找到以后我们还要对其进行优化,些时我们常常用到 explain 这个命令来查看一个这些 SQL 语句的执行情况,查看该 SQL 语句有没有使用上了索引,有没有做全表扫描,这都可以通过 explain 命令来查看。所以我们深入了解 MySQL…