Navicat 博客

在 MySQL 8 中实现闪速查询响应时间 2020 年 10 月 9 日,由 Robert Gravelle 撰写

在现代 Web 应用程序漂亮的用户界面(UI)后面,有异步服务从数据库中提取数据,并具有多种目标,包括加载下拉列表、填充数据表、同步组件等。后端进程的任何滞后将被用户视为缓慢甚至无响应的应用程序。这反过来会降低用户体验,并对你的应用程序有负面看法。因此,必须将查询响应时间减少到最低可行值。在许多情况下,这意味着要在数百分之一秒(而不是秒)内测量查询运转时间。

不用说,达到亚秒级的响应时间需要做的事情不仅仅是在可搜索字段上定义索引。在今天的文章中,我们将介绍一些在 MySQL 8中将查询发挥最大性能的技术。

防止在存储过程中删除所有记录 2020 年 10 月 6 日,由 Robert Gravelle 撰写

允许某些用户对表执行临时更新或删除是相当普遍的。诸如此类的数据操作语言(Data Manipulation Language,DML)操作始终存在风险,如果有人沒有使用 WHERE 子句而意外发出 DELETE 命令,从而删除表中的所有行,则可能发生事故!幸运的是,你可以采取一些简单的步骤来防止意外(或故意!)破坏性的 DML 操作。我们将在今天的文章中研究其中的几个步骤。

获取有关数据库表列的元数据 2020 年 9 月 22 日,由 Robert Gravelle 撰写

某些关系数据库(包括 MySQL 和 SQL Server)具有 INFORMATION_SCHEMA 系统数据库。它包含数据库元数据,例如数据库名、表名、列数据类型,甚至访问权限。它有时也称为数据字典或系统目录。无论你如何称呼它,INFORMATION_SCHEMA 数据库都是获取有关表列详细信息的理想地方。在今天的文章中,我们将使用 INFORMATION_SCHEMA 数据库来查找列是否存在以及特定表具有多少列。

Selecting the Second Highest Value from a Table 2020 年 9 月 17 日,由 Robert Gravelle 撰写

有人说第二名是第一个失败者。那么,谁需要一个 SQL 语句来找出谁在成就者之下?令人惊讶的是,有很多人。实际上,此类查询的正式术语是“列的第 n 个最高值”。这是因为用于选择第二高值的技术也可以应用于任何值。在今天的文章中,我们将学习如何将 ORDER BY DESC 与 LIMIT 子句结合使用,以从表中获取第二高的值以及其他值。

比较关系数据库中的 Null、零和空白字符串的语义 2020 年 9 月 8 日,由 Robert Gravelle 撰写

通常,数据库开发人员和管理员经常在其数据库表中互换使用 Null、零和空白字符串。不幸的是,因为 Null、零和空白字符串在关系数据库(RDBMS)中分别表示不同的内容。因此,错误地使用这些值或选择错误的值可能会对数据库和依赖该值的应用程序操作产生巨大影响。在今天的文章中,我们将探讨如何在数据库设计和一般使用中更好地利用 Null、零和空白字符串。

Navicat 文章
频道条目
分享
文章归档