mysql - Sequelize paranoid true 会影响查询性能吗?
问题描述
Sequelize 支持偏执表的概念。
偏执表是当被告知删除记录时,它不会真正删除它。相反,一个名为 deletedAt 的特殊列将其值设置为该删除请求的时间戳。
Sequelize 执行的每个查询都会自动忽略软删除的记录(当然,原始查询除外)。
findAll
考虑到隐式 where 子句,这是否会减慢查询速度?
解决方案
它像使用日期时间列和运算符的任何其他类似WHERE>=
条件一样影响。这取决于您有多少条记录、列数据选择性、列上是否有索引或者您是否有任何其他条件、连接等。
您应该为特定查询构建 SQL 查询计划,并查看其与日期时间条件对应的部分。
推荐阅读
- python - 美丽的汤。找不到任何东西
- emacs - 如何使用`CM-SPC`(`mark-sexp`)向后选择连续的单词?
- c# - 带有正确 HTTP 状态代码的 Web API PUT 返回对象
- ios - iOS 11+ 启动屏幕 - 在暗模式下自定义命名颜色
- angular - 在 FormGroup 中使用可观察对象时出现问题
- node.js - 在 Mongoose 中提交一个模型,其中包含一个带有 ObjectID 的数组
- node.js - 如何将 Typescript、NodeJS 和 Express 应用程序部署到 Heroku
- sql - SQL 使用 GROUP BY 聚合最常见的值
- keras - 了解深度自动编码器中损失和激活的选择?
- ios - @Published 用于计算属性(或最佳解决方法)