小编典典

MySQL中的嵌套视图有什么问题吗

sql

有一个视图引用另一种视图有什么问题吗?例如,说我有一个用户表

CREATE TABLE `users` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`first_name` varchar(255) NOT NULL,
`last_name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
);

然后为了论证,一个视图仅显示所有用户

CREATE VIEW all_users AS SELECT * FROM users

然后是一个仅返回其 first_name*last_name 的视图 *

CREATE VIEW full_names AS SELECT first_name, last_name FROM all_users

将一个视图置于另一个视图是否存在性能问题?我们还假装这是最简单的示例,现实情况会更加复杂,但是将一个视图置于另一视图的基础上却具有相同的一般概念。


阅读 248

收藏
2021-04-14

共1个答案

小编典典

这取决于所使用的算法。TEMPTABLE可能非常昂贵,而MERGE应该与直接使用该表相同,因此不会造成任何损失。

2021-04-14