Mengonfigurasi Operasi Indeks Paralel

Berlaku untuk: SQL Server (semua versi yang didukung) Azure SQL Managed Instance Database Azure SQL

Topik ini mendefinisikan tingkat paralelisme maksimum dan menjelaskan cara memodifikasi pengaturan ini di SQL Server dengan menggunakan SQL Server Management Studio atau Transact-SQL.

Pada sistem multiprosesor yang berjalan SQL Server Enterprise atau lebih tinggi, pernyataan indeks dapat menggunakan beberapa prosesor (CPU) untuk melakukan operasi pemindaian, pengurutan, dan indeks yang terkait dengan pernyataan indeks seperti yang dilakukan kueri lainnya. Jumlah CPU yang digunakan untuk menjalankan satu pernyataan indeks ditentukan oleh tingkat maksimum opsi konfigurasi server paralelisme , beban kerja saat ini, dan statistik indeks. Opsi tingkat paralelisme maksimum menentukan jumlah maksimum prosesor yang akan digunakan dalam eksekusi rencana paralel. Jika mesin database SQL Server mendeteksi bahwa sistem sibuk, tingkat paralelisme operasi indeks secara otomatis berkurang sebelum eksekusi pernyataan dimulai. Mesin Database juga dapat mengurangi tingkat paralelisme jika kolom kunci terkemuka dari indeks yang tidak dipartisi memiliki jumlah nilai berbeda yang terbatas atau frekuensi setiap nilai yang berbeda bervariasi secara signifikan. Untuk informasi selengkapnya, lihat Panduan Arsitektur Pemrosesan Kueri.

Catatan

Operasi indeks paralel tidak tersedia di setiap edisi SQL Server. Untuk informasi selengkapnya, lihat Fitur yang Didukung oleh Edisi SQL Server 2016.

Dalam Topik Ini

Sebelum Anda mulai

Batasan dan Pembatasan

  • Jumlah prosesor yang digunakan oleh pengoptimal kueri biasanya memberikan performa optimal. Namun, operasi seperti membuat, membangun kembali, atau menghilangkan indeks yang sangat besar bersifat intensif sumber daya dan dapat menyebabkan sumber daya yang tidak mencukupi untuk aplikasi lain dan operasi database selama durasi operasi indeks. Ketika masalah ini terjadi, Anda dapat mengonfigurasi jumlah maksimum prosesor yang digunakan secara manual untuk menjalankan pernyataan indeks dengan membatasi jumlah prosesor yang akan digunakan untuk operasi indeks.

  • Opsi indeks MAXDOP mengambil alih opsi konfigurasi paralelisme tingkat maksimum hanya untuk kueri yang menentukan opsi ini. Tabel berikut mencantumkan nilai bilangan bulat valid yang dapat ditentukan dengan opsi konfigurasi paralelisme tingkat maksimum dan opsi indeks MAXDOP.

    Nilai Deskripsi
    0 Menentukan bahwa server menentukan jumlah CPU yang digunakan, tergantung pada beban kerja sistem saat ini. Ini adalah nilai default dan pengaturan yang direkomendasikan.
    1 Menekan pembuatan rencana paralel. Operasi akan dijalankan secara serial.
    2-64 Membatasi jumlah prosesor ke nilai yang ditentukan. Lebih sedikit prosesor yang dapat digunakan tergantung pada beban kerja saat ini. Jika nilai yang lebih besar dari jumlah CPU yang tersedia ditentukan, jumlah Aktual CPU yang tersedia akan digunakan.
  • Eksekusi indeks paralel dan opsi indeks MAXDOP berlaku untuk pernyataan Transact-SQL berikut:

  • Opsi indeks MAXDOP tidak dapat ditentukan dalam ALTER INDEX (...) REORGANIZE pernyataan .

  • Persyaratan memori untuk operasi indeks yang dipartisi yang memerlukan pengurutan dapat lebih besar jika Pengoptimal Kueri menerapkan derajat paralelisme ke operasi build. Semakin tinggi tingkat paralelisme, semakin besar persyaratan memori. Untuk informasi selengkapnya, lihat Tabel dan Indeks yang Dipartisi.

Izin

ALTER Memerlukan izin pada tabel atau tampilan.

Menggunakan SQL Server Management Studio

Untuk mengatur tingkat paralelisme maksimum pada indeks

  1. Di Object Explorer, klik tanda plus untuk memperluas database yang berisi tabel tempat Anda ingin mengatur tingkat paralelisme maksimum untuk indeks.

  2. Luaskan folder Tabel.

  3. Klik tanda plus untuk memperluas tabel tempat Anda ingin mengatur tingkat paralelisme maksimum untuk indeks.

  4. Perluas folder Indeks .

  5. Klik kanan indeks yang ingin Anda atur tingkat paralelisme maksimumnya dan pilih Properti.

  6. Di bawah Pilih halaman, pilih Opsi.

  7. Pilih Tingkat paralelisme maksimum, lalu masukkan beberapa nilai antara 1 dan 64.

  8. Klik OK.

Menggunakan T-SQL

Untuk mengatur tingkat paralelisme maksimum pada indeks yang ada

  1. Di Object Explorer, sambungkan ke instans Mesin Database.

  2. Pada bilah Standar, klik Kueri Baru.

  3. Salin dan tempel contoh berikut ke dalam jendela kueri dan klik Jalankan.

    USE AdventureWorks2012;   
    GO  
    /*Alters the IX_ProductVendor_VendorID index on the Purchasing.ProductVendor table so that, if the server has eight or more processors, the Database Engine will limit the execution of the index operation to eight or fewer processors.  
    */  
    ALTER INDEX IX_ProductVendor_VendorID ON Purchasing.ProductVendor  
    REBUILD WITH (MAXDOP=8);   
    GO  
    

Untuk informasi selengkapnya, lihat ALTER INDEX (T-SQL).

Mengatur tingkat paralelisme maksimum pada indeks baru

  1. Di Object Explorer, sambungkan ke instans Mesin Database.

  2. Pada bilah Standar, klik Kueri Baru.

  3. Salin dan tempel contoh berikut ke dalam jendela kueri dan klik Jalankan.

    USE AdventureWorks2012;  
    GO  
    CREATE INDEX IX_ProductVendor_NewVendorID   
    ON Purchasing.ProductVendor (BusinessEntityID)  
    WITH (MAXDOP=8);  
    GO  
    

Lihat juga

Panduan Arsitektur Pemrosesan Kueri
CREATE INDEX (Transact-SQL)
ALTER INDEX (Transact-SQL)
DROP INDEX (Transact-SQL)
ALTER TABLE (Transact-SQL)
ALTER TABLE table_constraint (Transact-SQL)
ALTER TABLE index_option (Transact-SQL)