Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server sys.views是否会给服务器增加巨大的维护成本?_Sql Server_Views_Sql Server 2014 - Fatal编程技术网

Sql server sys.views是否会给服务器增加巨大的维护成本?

Sql server sys.views是否会给服务器增加巨大的维护成本?,sql-server,views,sql-server-2014,Sql Server,Views,Sql Server 2014,我不明白为什么我的比赛慢。但幸运的是,我发现这个数据库总共有1451个视图。我不记得是我创造的 首先,sql server 2014是否自动创建视图 EXECUTE master.dbo.IndexOptimize @Databases = 'Pokemon_Pets_DB', @FragmentationLow = NULL, @FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE'

我不明白为什么我的比赛慢。但幸运的是,我发现这个数据库总共有1451个视图。我不记得是我创造的

首先,sql server 2014是否自动创建视图

EXECUTE master.dbo.IndexOptimize @Databases = 'Pokemon_Pets_DB',
@FragmentationLow = NULL,
@FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
@FragmentationHigh = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
@FragmentationLevel1 = 5,
@FragmentationLevel2 = 30,
@UpdateStatistics = 'ALL',
@OnlyModifiedStatistics = 'Y'
我每天都在使用计划

它的执行方式如下:是否自动创建视图

EXECUTE master.dbo.IndexOptimize @Databases = 'Pokemon_Pets_DB',
@FragmentationLow = NULL,
@FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
@FragmentationHigh = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
@FragmentationLevel1 = 5,
@FragmentationLevel2 = 30,
@UpdateStatistics = 'ALL',
@OnlyModifiedStatistics = 'Y'
在注意到所有这些视图后,我将它们全部删除。现在我看到了显著的性能和速度提升。SQL server cpu的总使用量也减少了

视图的真正作用是什么?为什么它们会给我的服务器带来负担

我没有任何使用任何视图的查询

这里是我删除所有备份之前的屏幕截图

首先,sql server 2014是否自动创建视图

EXECUTE master.dbo.IndexOptimize @Databases = 'Pokemon_Pets_DB',
@FragmentationLow = NULL,
@FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
@FragmentationHigh = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
@FragmentationLevel1 = 5,
@FragmentationLevel2 = 30,
@UpdateStatistics = 'ALL',
@OnlyModifiedStatistics = 'Y'
不,它没有(除了每个数据库中的某些系统视图,它们不能更改)

它的执行方式如下:是否自动创建视图

EXECUTE master.dbo.IndexOptimize @Databases = 'Pokemon_Pets_DB',
@FragmentationLow = NULL,
@FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
@FragmentationHigh = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
@FragmentationLevel1 = 5,
@FragmentationLevel2 = 30,
@UpdateStatistics = 'ALL',
@OnlyModifiedStatistics = 'Y'
不,他的剧本没有

视图的真正作用是什么

视图是内联替换的定义,有助于促进代码重用和抽象(除其他外)。视图存储为定义,除非定义是索引视图,否则不会保留任何内容

为什么它们会给我的服务器带来负担

除非有什么东西对它们不利,否则它们的开销为0。索引视图的开销很大,与视图中定义的基表的变化率和变化量成比例

我没有任何使用任何视图的查询


然后我会设置一个跟踪或扩展事件会话,以查看是谁/什么在创建它们。因为我们不知道它们是否是索引视图(因为您已经删除了它们),所以很难对它们进行一般性的描述。

ty对于答案,您的意思是什么?“除非有什么东西对它们不利”我还必须说每个视图都有几个统计数据。我的意思是,除非有什么东西在积极地查询这些视图,否则它们只是元数据,而不是别的。有趣的是。但是,您可以看到上次更新日期。它们是最近的。更新它们不会增加开销?如何更新视图?您可以更改定义,但除了sql语句(create view)之外,磁盘上没有与视图相关联的数据。现在,如果它是一个索引视图(即,它上面有索引),那就不同了。是哪一个?