Bagikan melalui


Mengonfigurasi operasi indeks paralel

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceDatabase SQL di Microsoft Fabric

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

Pada sistem multiprosesor yang menjalankan SQL Server Enterprise atau yang lebih tinggi, pernyataan indeks mungkin 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.

Tingkat maksimum opsi paralelisme 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 non-partisi memiliki jumlah nilai berbeda yang terbatas atau frekuensi setiap nilai yang berbeda bervariasi secara signifikan. Untuk informasi selengkapnya, lihat Panduan Arsitektur Pemrosesan Kueri.

Note

Operasi indeks paralel tidak tersedia di setiap edisi SQL Server. Untuk informasi selengkapnya, lihat Edisi dan fitur yang didukung SQL Server 2022.

Keterbatasan

  • 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 MAXDOP indeks mengambil alih tingkat maksimum opsi konfigurasi paralelisme hanya untuk kueri yang menentukan opsi ini. Tabel berikut mencantumkan nilai bilangan bulat valid yang dapat ditentukan dengan tingkat maksimum opsi konfigurasi paralelisme dan MAXDOP opsi indeks.

    Value Description
    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 Menonaktifkan pembuatan rencana paralel. Operasi 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 disebutkan, jumlah CPU yang sebenarnya digunakan.
  • Eksekusi indeks paralel dan MAXDOP opsi indeks berlaku untuk pernyataan Transact-SQL berikut:

  • Opsi MAXDOP indeks 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.

Permissions

Memerlukan izin ALTER pada tabel atau pandangan.

Menggunakan SQL Server Management Studio

Mengatur tingkat paralelisme maksimum pada indeks

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

  2. Luaskan folder Tabel.

  3. Pilih tanda plus untuk memperluas tabel tempat Anda ingin mengatur tingkat paralelisme maks 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. Pilih OK.

Menggunakan Transact-SQL

Mengatur tingkat paralelisme maksimum pada indeks yang ada

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

  2. Pada bilah Standar, pilih Kueri Baru.

  3. Salin dan tempel contoh berikut ke dalam jendela kueri dan pilih Jalankan. Kode ini mengubah IX_ProductVendor_VendorID indeks pada Purchasing.ProductVendor tabel sehingga, jika server memiliki delapan prosesor atau lebih, Mesin Database membatasi eksekusi operasi indeks menjadi delapan atau lebih sedikit prosesor.

    USE AdventureWorks2022;
    GO
    
    ALTER INDEX IX_ProductVendor_VendorID
        ON Purchasing.ProductVendor REBUILD WITH(MAXDOP = 8);
    GO
    

Untuk informasi selengkapnya, lihat MENGUBAH INDEKS.

Tentukan tingkat paralelisme maksimum saat membuat indeks baru

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

  2. Pada bilah Standar, pilih Kueri Baru.

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

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