mysql - "is not null"与 bool 值 MySQL - 性能

标签 mysql performance

我有一个日期时间列,converted_at

我计划经常进行检查 WHERE converted_at is not null 的调用。因此,我正在考虑有一个 bool 字段 converted。在检查字段是否为 not null 与是否为 false 之间,它们是否存在显着的性能差异?

谢谢。

最佳答案

如果事情在一个领域内是可以回答的,那么你更喜欢将同一件事分成两个领域。这会创建更多的基础设施,在您的情况下这是可以避免的。

至于问题的核心,我相信大多数数据库实现(包括 MySQL)都会有一个内部标志,它无论如何都是 bool 值,用于表示字段的可空性。

您应该相信这是为您正确完成的。

至于性能,更大的问题应该是分析您在数据库上运行的典型查询以及您在何处创建适当的索引和分析表以改进执行计划以及在查询期间使用哪些索引。这个问题会对性能产生更大的影响。

关于mysql - "is not null"与 bool 值 MySQL - 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9010018/

相关文章:

php - 如果 feildx=123,则删除数据库中任何表中的任何记录

mysql - 从 MySQL 迁移到 IBM Bluemix——使用哪个数据库服务?

mysql - Azure 中的 ASP.NET MVC 应用程序与应用程序内的 MySQL

java - 有没有办法保持与静态 Web 服务的连接?

python - 根据 pandas 中另一列中的键从列中选择值的最快方法是什么?

php - PDOException 仅在某些用例中

mysql - 如何选择表的文本列及其中最长字符串的信息

performance - 为什么findAncestorWidgetOfExactType为O(N)而DependOnInheritedWidgetOfExactType为O(1)

python - 为什么我的 python/numpy 示例比纯 C 实现更快?

PHP - 每次迭代查询单个值或在开始时获取所有值并从数组中检索?