SQL permintaan kinerja dapat berkurang ketika contoh SQL Server Database fragmentasi tinggi indeks

PENTING: Artikel ini diterjemahkan oleh perangkat lunak penerjemahan mesin Microsoft, dan mungkin telah diedit oleh Masyarakat Microsoft melalui teknologi CTF dan bukan oleh seorang penerjemah profesional. Microsoft menawarkan baik artikel yang diterjemahkan oleh manusia maupun artikel hasil editan terjemahan oleh mesin/komunitas, sehingga Anda dapat mengakses semua artikel di Sentra Pengetahuan yang kami miliki dalam berbagai bahasa. Namun artikel hasil editan mesin atau bahkan komunitas tidak selalu sempurna. Artikel ini dapat mengandung kesalahan dalam hal kosa kata, sintaksis atau tatabahasa, sangat mirip dengan penutur asing yang membuat kekeliruan ketika berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab atas ketidakakuratan, kesalahan atau kerugian apa pun akibat dari kekeliruan dalam penerjemahan isi atau penggunaannya oleh pelanggan kami. Microsoft juga akan senantiasa memperbarui perangkat lunak penerjemahan mesin dan alat untuk menyempurnakan Editan Hasil Penerjemahan Mesin.

Klik disini untuk melihat versi Inggris dari artikel ini: 2755960
Ringkasan
SQL query kinerja dapat berkurang jika indeks sangat terfragmentasi di contoh Microsoft SQL Server Database. Anda dapat menggunakan fungsi sistem sys.dm_db_index_physical_stats untuk mendeteksi fragmentasi indeks untuk hal berikut ini:
  • Indeks tertentu
  • Semua indeks pada Daftar Tabel
  • Semua indeks tampilan indeks
  • Semua indeks di pangkalan data
  • Semua indeks di semua pangkalan data
Untuk menentukan fragmentasi yang lebih dari 30 persen, jalankan skrip query SQL berikut ini:

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 mengoreksi fragmentasi, lihat panduan berikut:
  • Gunakan mengubah indeks membangun kembali dengan (ONLINE = ON) * perintah untuk objek yang fragmentasi persen rata-rata adalah lebih dari 30 persen.
  • Gunakan perintah Mengubah indeks mengatur untuk objek yang fragmentasi persen rata-rata adalah antara 5 hingga 30 persen.

nilai avg_fragmentation_in_percentPernyataan perbaikan
> 5% dan< ==""> MENGATUR ULANG INDEKS ALTERNATIF
> 30%MENGUBAH INDEKS REBUILD DENGAN (ONLINE = ON)*
Catatan:
  • Nilai ini menyediakan pedoman kasar untuk menentukan titik di mana Anda harus beralih antara Mengubah indeks mengatur dan Mengubah indeks membangun kembali. Namun, nilai aktual dapat berbeda-beda untuk setiap kasus. Anda harus percobaan untuk menentukan batas terbaik untuk lingkungan Anda.
  • Tingkat yang sangat rendah fragmentasi (kurang dari 5 persen) tidak disampaikan dengan salah satu dari perintah berikut ini. Hal ini karena manfaat dari menghapus jumlah kecil fragmentasi biasanya sangat sebanding dengan biaya menata ulang atau membangun kembali indeks.

Informasi lebih lanjut
Untuk informasi selengkapnya tentang cara mengatur dan membangunnya indeks, kunjungi website Microsoft berikut:
Daftar Tabel berikut ini menyediakan informasi lebih lanjut tentang produk atau alat yang secara otomatis memeriksa kondisi ini pada contoh SQL Server dan versi produk SQL Server terhadap aturan dievaluasi.
peranti penangkap lunak aturanJudul aturanPenjelasan aturanVersi produk terhadap aturan dievaluasi
Penasihat pusat sistemSQL Server tinggi fragmentations dapat menurunkan kinerja permintaanPenasihat pusat sistem memeriksa fragmentasi Logis menggunakan avg_fragmentation_in_percent nilai sys.dm_db_index_physical_stats untuk setiap contoh SQL Server Database indeks. Jika fragmentasi rata-rata indeks atau timbunan lebih dari lima persen, peringatan ini dibuat. Ikuti petunjuk dari artikel ini untuk memecahkan masalah yang berkaitan dengan fragmentations tinggi indeks.SQL Server 2008

SQL Server 2008 R2

SQL Server 2012

Peringatan: Artikel ini telah diterjemahkan secara otomatis

Properti

ID Artikel: 2755960 - Tinjauan Terakhir: 02/06/2016 06:27:00 - Revisi: 2.0

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

  • kbsurveynew kbhowto kbexpertiseadvanced kbmt KB2755960 KbMtid
Tanggapan