我对更新/删除语句有疑问,以便优化我的应用中的查询。
如果我们在子句中已经有了主键,那么向 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' 方法是什么?