SQL 查询 - 当我们在 where 子句中使用主键时更新/删除语句的性能

我对更新/删除语句有疑问,以便优化我的应用中的查询。

如果我们在子句中已经有了主键,那么向 where 子句添加其他内容以加快查询是否有意义?

是否值得在语句中添加其他索引(除了主键)?它会对查询性能产生影响吗?可能因为额外的步骤而产生负面影响?我说得对吗?

如果我们知道记录在哪个分区,是否值得在 where 子句(除了主键)中指示特定分区?

它会加快还是减慢查询速度,因为查询将在第一步中使用 B-Tree(主键)来搜索给定的记录,而不需要其他步骤?

最佳答案

where 子句只是用来分隔 SQL 语句的。主键只负责不双标

我测试过:

带主键的表:4.5 秒 没有主键:3.8 秒

https://stackoverflow.com/questions/71110352/

相关文章:

java - 如何使用 vagrant 在 ubuntu 上安装 maven 3.8 和 jdk 1

mysql - Prisma - 唯一约束失败,而架构中没有唯一字段

javascript - 根据 HTML 规范对模块脚本执行严格的 MIME 类型检查

php - 是什么导致我的 Laravel 8 应用程序出现此查询生成器错误?

node.js - 如何在 node.js CLI 应用程序中使用日志记录和进度条?

css - 使用 CSS 模块时从父项覆盖样式的 'correct' 方法是什么?

c# - Asp.net 长时间运行的后台任务。最佳实践?

postgresql - 了解全文搜索查询中子句顺序的影响

react-native - appcenter codepush 更新 Android 但不更新

firebase - 为什么 Firebase 动态链接总是空的?