Performa query SQL mungkin menurunkan ketika contoh SQL Server Database memiliki indeks tinggi fragmentasi

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 2755960 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Ringkasan

SQL query kinerja mungkin berkurang jika indeks sangat terfragmentasi di Microsoft SQL Server Database contoh. Anda dapat menggunakan sys.dm_db_index_physical_stats fungsi sistem untuk mendeteksi fragmentasi indeks untuk kasus-kasus berikut:
  • Indeks tertentu
  • Semua indeks di atas tabel atak
  • Semua indeks pada pandangan yang diindeks
  • Semua indeks di database
  • Semua indeks di semua database
Untuk menentukan fragmentasi yang lebih besar daripada 30 persen, menjalankan skrip query SQL berikut:

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
Untuk menentukan metode terbaik untuk memperbaiki fragmentasi, merujuk pada panduan berikut:
  • Penggunaan mengubah indeks membangun kembali dengan (ONLINE = ON) * perintah untuk objek fragmentasi persen yang rata-rata adalah lebih dari 30 persen.
  • Gunakan perintah Mengubah indeks REORGANISASI untuk objek fragmentasi persen yang rata-rata adalah antara 5 sampai 30 persen.

Perkecil tabel iniPerbesar tabel ini
Nilai avg_fragmentation_in_percentPernyataan korektif
mengatakan 5% dan< ==""> ALTER INDEKS REORGANISASI
mengatakan 30 %MENGUBAH MEMBANGUN KEMBALI INDEKS DENGAN (ONLINE = ON) *
Catatan:
  • Nilai-nilai ini memberikan pedoman kasar untuk menentukan titik di mana Anda harus beralih di antara Mengubah indeks REORGANISASI dan Mengubah indeks membangun kembali. Namun, nilai yang sebenarnya dapat bervariasi dari setiap kasus. Anda harus melakukan percobaan untuk menentukan ambang batas terbaik untuk lingkungan Anda.
  • Tingkat yang sangat rendah fragmentasi (kurang dari lima persen) tidak dapat dibahas oleh salah satu dari perintah ini. Hal ini karena manfaat dari menghapus seperti sedikit fragmentasi biasanya sangat sebanding dengan biaya reorganisasi atau membangun kembali indeks.

Informasi lebih lanjut

Untuk informasi lebih lanjut tentang cara mengatur ulang dan membangun kembali indeks, kunjungi website Microsoft berikut:
Bagaimana untuk mengatur ulang dan membangun kembali indeks

Daftar Tabel berikut memberikan informasi lebih lanjut tentang produk atau alat-alat yang secara otomatis memeriksa kondisi ini pada Anda contoh SQL Server dan versi SQL Server produk terhadap aturan dievaluasi.
Perkecil tabel iniPerbesar tabel ini
Aturan peranti penangkap lunakAturan judulKeterangan kaidahVersi produk terhadap aturan dievaluasi
System Center penasihatSQL Server fragmentations tinggi dapat menurunkan kinerja permintaanSystem Center penasihat memeriksa fragmentasi logis dengan menggunakan avg_fragmentation_in_percent nilai dalam sys.dm_db_index_physical_stats untuk setiap contoh SQL Server Database indeks. Jika fragmentasi rata-rata untuk indeks atau tumpukan yang lebih besar dari lima persen, peringatan ini dihasilkan. Ikuti petunjuk dari artikel ini untuk memecahkan masalah yang terkait dengan indeks tinggi fragmentations.SQL Server 2008

SQL Server 2008 R2

SQL Server 2012

Properti

ID Artikel: 2755960 - Kajian Terakhir: 27 September 2012 - Revisi: 1.0
Berlaku bagi:
  • 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
Kata kunci: 
kbsurveynew kbhowto kbexpertiseadvanced kbmt KB2755960 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini: 2755960

Berikan Masukan

 

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