Mysql 是否有创建视图的能力
假设我有一个表,有一千个或更多的用户。如果我为每个用户创建一个视图,它会影响性能吗Mysql 是否有创建视图的能力,mysql,sql-view,Mysql,Sql View,假设我有一个表,有一千个或更多的用户。如果我为每个用户创建一个视图,它会影响性能吗 CREATE VIEW vw_userid of user AS SELECT * FROM Updates WHERE userid='userid of user' 我认为在您的情况下,这是有效的,因为第一个查询将读取一个表并生成视图,再次它将执行读取操作以检索数据,并且您正在运行时创建视图,因此每次都将消耗内存。如果I/O请求将更多,那么您的服务器可能会变得无响应。我建议您使用选择语句对您更有利。创建
CREATE VIEW vw_userid of user AS
SELECT *
FROM Updates
WHERE userid='userid of user'
我认为在您的情况下,这是有效的,因为第一个查询将读取一个表并生成视图,再次它将执行读取操作以检索数据,并且您正在运行时创建视图,因此每次都将消耗内存。如果I/O请求将更多,那么您的服务器可能会变得无响应。我建议您使用选择语句对您更有利。创建视图总是会影响性能(很明显)。是的,确实如此,特别是如果您打算为1000多名用户创建一个视图。我希望为每个用户创建视图。如果我有1000个用户,那么将有1000个视图。当用户注册我的网站时,我将创建视图,然后每当用户登录时,我将使用该视图检索数据。现在有10000个用户登录,您将创建多少视图以及它将如何工作,只要想想这个场景。这里的用户将每天不断增加。哪个主机将为您提供对这么多表的支持。如果您想创建视图,那么只创建一个视图,其中每一行可以有GUID作为主键&使用userid您可以检索数据。好的,这就是我要问的。所以更好的方法是使用选择并删除创建viewYes的想法!它将比为每个用户创建视图更快。