我一直希望并假设它不是 - 集合论(或其他东西)提供了通往结果的捷径。
我创建了一个不可更新 View ,该 View 以产生指数数量的记录的方式聚合来自多个表的数据。从这个角度来看,我一次查询一条记录。由于底层数据集很小,因此该技术效果很好 - 但我担心它无法扩展。
我听说 MySQL 使用临时表来实现 View 。一想到每个查询都会出现和消失潜在的大量临时表,我的心就颤抖了。
最佳答案
使用 explain <select query>
查看查询中实际发生了什么的语法。
一般来说,使用 View 等同于使用相同SQL 的子查询。没有好坏之分,只是防止一遍又一遍地编写相同子查询的捷径。
有时您最终会得到用于解析某些复杂查询的临时表,但如果数据库结构得到很好的优化并且使用 View 而不是子查询不会改变任何东西,这种情况就不会经常发生.
关于sql - 从包含数千条的 MySQL View 中查询单个记录是否相当于查询那几千条 + 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/628224/