gpt4 book ai didi

sql - 重建索引会使我的生产数据库停止工作吗?

转载 作者:行者123 更新时间:2023-12-05 03:14:11 25 4
gpt4 key购买 nike

我使用 SQL Server 2012 作为我的产品已有 2 年多了。这期间,我加了一些索引,但从来没有碰过分片。老实说,我并不知道索引碎片。但是今天当我运行的时候,

SELECT 
dbschemas.[name] as 'Schema',
dbtables.[name] as 'Table',
dbindexes.[name] as 'Index',
indexstats.avg_fragmentation_in_percent,
indexstats.page_count
FROM
sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, NULL) AS indexstats
INNER JOIN
sys.tables dbtables on dbtables.[object_id] = indexstats.[object_id]
INNER JOIN
sys.schemas dbschemas on dbtables.[schema_id] = dbschemas.[schema_id]
INNER JOIN
sys.indexes AS dbindexes ON dbindexes.[object_id] = indexstats.[object_id]
AND indexstats.index_id = dbindexes.index_id
WHERE
indexstats.database_id = DB_ID()
ORDER BY
indexstats.avg_fragmentation_in_percent DESC

我得到了这些结果:

Schema  Table                           Index                           avg_fragmentation_in_percent    page_count
--------------------------------------------------------------------------------------------------------------
dbo ELMAH_Error IX_ELMAH_Error_App_Time_Seq 99.2438563327032 529
dbo ELMAH_Error PK_ELMAH_Error 98.8664987405542 794
dbo ProductsCountriesVariants PK__Products__3214EC270AC6A076 98 100
dbo Tags PK_Tags 91.2820512820513 195
dbo ProductGallery PK_ProductGallery 89.0909090909091 220
dbo devicecatalog IX_DeviceCatalog_NativeDeviceID 88.5964912280702 342
dbo Products IX_Products_RetailerID_ModelNumber 88.5245901639344 122
dbo Products IX_Products_RetailerID_SKU 82.7272727272727 110
--------------------------------------------------------------------------------------------------------------

我应该重建所有索引吗?它会影响我在生产环境中运行的数据库吗?有趣的是,几分钟前我刚刚创建了 IX_DeviceCatalog_NativeDeviceID 索引。

最佳答案

重建索引将锁定表,除非您指定该操作在线完成:

ALTER INDEX REBUILD WITH (ONLINE = ON)

仅适用于企业版及以上版本。

关于sql - 重建索引会使我的生产数据库停止工作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26509302/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com