sql - 查询主键真的值得吗?

标签 sql mysql performance

Jeff Atwood wrote once他发现查询数据库中的主键,然后使用 IN 子句获取所有相关字段的速度是单 sql 对应项的两倍。

我想知道这是否适用于所有情况,如果不是,在什么情况下它仍然在性能方面提供了巨大的改进空间?

此外,通过脚本语言库访问db的成本有多高?我主要谈论的是非常著名的 PHP-MySQL 组合。

最佳答案

这要看情况。有时,正如杰夫的博客文章明确指出的那样,它可以提供(显着的)性能提升。但作为一般规则,最好让查询优化器找到它能找到的最佳执行计划,然后尝试手动优化特别慢的查询。

摘自文章,“我们默认使用内置的 Linq 语言结构,并根据性能跟踪结果手动调整旧的 SQL blob。”同样,您应该默认让查询优化器执行其操作,并在性能跟踪告诉您需要时手动调整 SQL 语句。

从脚本语言连接到数据库引擎通常非常快。通常,查询的实际执行将比实际连接到数据库服务器并将结果从数据库服务器移回请求脚本花费的时间要长得多。

关于sql - 查询主键真的值得吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1619089/

相关文章:

SQL Server 2008链接服务器连接字符串设置

mysql - 数据库设计: User can be part of many lists,并且列表可以与多个用户关联

mysql - 以编程方式删除重复行mysql

mysql - 在 BeagleBone 上安装 Mysql 到 Debian 时出现错误

mysql - 查询两个表,其中一行与另一行相似

php - 警告:mysqli_query()至少需要2个参数,给定1个…register.php 64行

c - 哪段代码效率更高?

python - R 中是否有等效(或更快)版本的 numpy.binCount 用于基于多个 bin 求和值?

javascript - 减少用于加速交互的 jquery 选择器的数量

mysql - Rails中如何获得两个日期时间列相减的平均值