Hi?u su?t truy v?n SQL có th? gi?m khi trư?ng h?p b? máy cơ s? d? li?u SQL Server có phân m?nh ch? s? cao

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 2755960 - Xem s?n ph?m mà bài này áp d?ng vào.
Bung t?t c? | Thu g?n t?t c?

Tóm t?t

Hi?u su?t truy v?n SQL có th? gi?m n?u các danh m?c đư?c phân m?nh r?t nhi?u trong trư?ng h?p c?a Microsoft SQL Server b? máy cơ s? d? li?u. B?n có th? s? d?ng ch?c năng h? th?ng sys.dm_db_index_physical_stats đ? phát hi?n các phân m?nh ch? s? cho các trư?ng h?p sau:
  • M?t ch? s? c? th?
  • T?t c? các ch? s? trên m?t b?ng
  • Các ch? s? t?t c? vào m?t cái nh?n đư?c l?p m?c ch? d?n
  • T?t c? các ch? s? trong b? máy cơ s? d? li?u
  • Các ch? s? t?t c? trong t?t c? các b? máy cơ s? d? li?u
Đ? xác đ?nh các phân m?nh là hơn 30 ph?n trăm, ch?y k?ch b?n truy v?n SQL sau đây:

SELECT OBJECT_NAME(i.OBJECT_ID) AS TableName, OBJECT_NAME(i.OBJECT_ID) AS TableName, i.name AS IndexName,i.name AS IndexName, indexstats.avg_fragmentation_in_percent FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'DETAILED') indexstats INNER JOIN sys.indexes i ON i.OBJECT_ID = indexstats.OBJECT_ID WHERE indexstats.avg_fragmentation_in_percent > 30 AND i.index_id = indexstats.index_id
Đ? xác đ?nh cách t?t nh?t đ? kh?c ph?c các phân m?nh, tham kh?o các hư?ng d?n sau:
  • S? d?ng các thay đ?i INDEX xây d?ng l?i v?i (tr?c tuy?n = ON) * l?nh cho các đ?i tư?ng mà phân m?nh ph?n trăm trung b?nh là hơn 30 ph?n trăm.
  • S? d?ng l?nh Thay đ?i ch? s? t? ch?c l?i cho các đ?i tư?ng mà phân m?nh ph?n trăm trung b?nh là gi?a 5-30 ph?n trăm.

Thu g?n b?ng nàyBung r?ng b?ng này
giá tr? avg_fragmentation_in_percentKh?c ph?c tuyên b?
> 5% và< ==""> T? CH?C L?I m?c ch? d?n THAY Đ?I
> 30 %THAY Đ?I INDEX XÂY D?NG L?I V?I (TR?C TUY?N = ON) *
Ghi chú:
  • Nh?ng giá tr? này cung c?p m?t hư?ng d?n thô đ? xác đ?nh đi?m mà t?i đó, b?n nên chuy?n đ?i gi?a các Thay đ?i ch? s? t? ch?c l?iThay đ?i INDEX xây d?ng l?i. Tuy nhiên, các giá tr? th?c s? có th? thay đ?i các trư?ng h?p. B?n ph?i th? nghi?m đ? xác đ?nh ngư?ng t?t nh?t cho môi trư?ng c?a b?n.
  • M?c r?t th?p c?a phân m?nh (ít hơn năm ph?n trăm) không nên đư?c gi?i quy?t b?ng m?t trong các l?nh. Đi?u này là v? l?i ích t? lo?i b? m?t s? ti?n nh? như v?y phân m?nh n?ng hơn thư?ng r?t nhi?u b?i chi phí s?p x?p l?i ho?c xây d?ng l?i các ch? s?.

Thông tin thêm

Đ? bi?t thêm chi ti?t v? làm th? nào đ? t? ch?c l?i và xây d?ng l?i các ch? s?, đi đ?n web site c?a Microsoft sau đây:
Làm th? nào đ? t? ch?c l?i và xây d?ng l?i các ch? s?

B?ng sau đây cung c?p các thông tin thêm v? s?n ph?m ho?c các công c? t? đ?ng ki?m tra t?nh tr?ng này c?a b?n th? hi?n c?a SQL Server và các phiên b?n c?a s?n ph?m máy ch? SQL ch?ng l?i các quy t?c đư?c đánh giá.
Thu g?n b?ng nàyBung r?ng b?ng này
Ph?n m?m quy t?cTiêu đ? quy t?cMô t? quy t?cPhiên b?n s?n ph?m ch?ng l?i các quy t?c đư?c đánh giá
H? th?ng Trung tâm c? v?nFragmentations cao SQL Server có th? h? c?p hi?u su?t truy v?nH? th?ng Trung tâm c? v?n ki?m tra phân m?nh h?p l? b?ng cách s? d?ng các avg_fragmentation_in_percent giá tr? sys.dm_db_index_physical_stats cho m?i ch? s? ví d? c?a SQL máy ch? b? máy cơ s? d? li?u. N?u phân m?nh trung b?nh cho ch? s? ho?c đ?ng là hơn 5%, c?nh báo này đư?c t?o ra. Th?c hi?n theo các hư?ng d?n t? bài vi?t này đ? gi?i quy?t các v?n đ? có liên quan đ?n ch? s? cao fragmentations.SQL Server 2008

SQL Server 2008 R2

SQL Server 2012

Thu?c tính

ID c?a bài: 2755960 - L?n xem xét sau cùng: 27 Tháng Chín 2012 - Xem xét l?i: 1.0
Áp d?ng
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2012 Web
T? khóa: 
kbsurveynew kbhowto kbexpertiseadvanced kbmt KB2755960 KbMtvi
Máy d?ch
QUAN TRỌNG: Bài vi?t này đư?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngư?i d?ch. Microsoft cung c?p các bài vi?t do con ngư?i d?ch và c? các bài vi?t do máy d?ch đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng như m?t ngư?i nư?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thư?ng xuyên c?p nh?t ph?n m?m d?ch máy này.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này: 2755960

Cung cấp Phản hồi

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com