最近发布的 Navicat 16 有以下一些最值得注意的功能和改进:
- 数据生成
- 图表
- On-Prem Server
- 协同合作
- UI/UX 改进
一如承诺,我们将在接下来的几周内更详细地探索这些功能和改进。在今天的文章中,我们将从全新的数据生成工具开始。我们将使用 Windows 版的 Navicat Premium 16 为多个相关表创建测试数据来熟悉它。
在软件开发中,有一种用于处理二进制状态的布尔(Boolean)数据类型。因此,它只有两种可能的状态:true 和 false。但是,在开发中存在必须经常考虑的第三种状态,即“以上都不是”或“其他”。在关系数据库中,NULL 似乎是这种状态的一个很好的选择,但由于其历史背景而并非如此。回想一下以前的文章,NULL 在结构化查询语言(SQL)中具有非常特殊的含义,表示数据库中不存在数据值。NULL 值实际上是由关系数据库模型的创建者 E. F. Codd 本人引入的。在 SQL 中,NULL 表示“缺少和/或不适用的信息”。从这个角度来看,NULL 很难代表“以上都不是”或“其他”条件。那么,在关系数据库中表示三元或三态数据的最佳方式是什么?我们今天将在这里为 MySQL 和 PostgreSQL 回答这个问题。下周我们将涵盖 SQL Server 和 Oracle。

有多少次你发现某个查询在针对经过清理的数据进行测试时能发挥充分的性能,但在生产环境中却只看到它停止一次?由于工作负载和数据量等环境之间的差异,这种情况一直在发生。因为这个原因,你可能会在生产环境中尝试你的查询。毕竟,调整生产查询的最快方法是在生产服务器上,不是吗?虽然这是正确,但仍有许多危险等待着那些愚蠢到无视保障措施和协议的人。在本文中,我们将探讨在生产环境中测试查询的一些相关风险。
SQL Server 提供了多种数据类型,支持你想要存储的所有数据类型。你可能已经猜到,数据类型是一个属性,用于指定列可以存储数据的类型。它可以是整数、字符串、货币、日期和时间等。在数据库设计人员和开发人员之间引起混淆的一种数据类型是用于存储字符串的数据类型。字符串是作为一组操作的一系列字符。在关系数据库的上下文中,字符串数据类型是那些让你存储固定长度(char)或可变长度数据(varchar)的数据类型。此外,SQL Server 将其字符串类型分为两大类:Unicode 和非 Unicode。Unicode 类型有 nchar、nvarchar 和 ntext,而非 Unicode 类型有 char、varchar/varchar (max) 和 text。在今天的文章中,我们将比较这两个类别,以决定何时使用它们。
你是否曾在 SELECT 查询中看到过 WHERE 1=1 条件。我在许多不同的查询和许多 SQL 引擎中都有看过。这条件显然意味着 WHERE TRUE,所以它只是返回与没有 WHERE 子句时相同的查询结果。此外,由于查询优化器几乎肯定会删除它,因此对查询执行时间没有影响。那么,WHERE 1=1 的作用是什么?这就是我们今天要在这里回答的问题!
- 2025 (1)
- 2024 (1)
- 2023 (1)
- 2022 (1)
- 2021 (1)
- 2020 (1)
- 2019 (1)
- 2018 (1)
- 2017 (1)