数据库话题为数据库工程师和数据库管理人员提供数据库相关新闻资讯、前沿技术、管理和开发技巧、使用案例等内容,涉及 SQL Server、MySQL、MariaDB、PostgreSQL、Redis、MongoDB 等数据库。
在高并发数据库场景中,InnoDB 锁竞争一直是影响 MySQL 吞吐量的关键因素之一。线上业务经常出现的 TPS 波动、响应时间毛刺、连接数堆积等现象,背后往往都能追溯到行锁等待、间隙锁冲突或死锁回滚等问题。本文基于 MySQL 8.0.32 版本,在受控环境下对七种典型锁竞争场景进行了完整实测,…
如果你运行 SQLite3 的命令行来访问你的数据库,可以键入 .tables 来获得所有表的列表。或者你可以输入 .schema 来看整个数据库模式,包括所有的表的索引。 输入这些命令,后面跟一个 LIKE 模式匹配可以限制显示的表。 在一个 C/C++ 程序中(或者脚本语言使用 Tcl/Ruby…
在基于 Egg.js 构建的后端应用中, Service 层 主要负责处理业务逻辑,是 Controller 与数据层之间的重要桥梁。 本文将以一个 Torrent(种子)管理模块 为例,详细讲解如何编写一个结构清晰、功能完整的 torrent service 操作文件。 该 Service 主要围…
在日常全站开发中,SQL 查询是衔接后端与数据库的核心环节,看似简单的条件判断,往往藏着容易被忽略的细节问题。近期在项目中遇到一个诡异的查询现象:以字符串类型为主键的表,执行带特定条件的查询时,本该精准匹配的结果却出现了 误命中 ,且仅返回一条不符合预期的数据。经过排查,发现问题根源在于隐式类型转换…
我们的目的是让 SQLite 以与标准兼容的方式来处理 NULL。 但是在 SQL 标准中,对于如何处理 NULL 是不明确的。 从标准文档中,并不能在所有情况下都清楚地看出应该如何确切地处理 NULL。 所以除了遵循标准的文档,我们还测试了其它许多流行的 SQL 引擎, 来看它们是如果处理 NUL…
MySQL 数据库出现 MySQL server has gone away 错误一般是 SQL 语句太大导致了,下面们在使用 Navicat 中操作数据库时提示 MySQL server has gone away 问题解决办法。 今天备份了一下本站的数据,生成的 SQL 文件比较大,当然这个 S…