Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Database 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
MAXDOPindeks 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 danMAXDOPopsi 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
MAXDOPopsi indeks berlaku untuk pernyataan Transact-SQL berikut:- BUAT INDEKS
- UBAH INDEKS (...) MEMBANGUN ULANG
- DROP INDEX (Ini hanya berlaku untuk indeks berkluster.)
- BATASAN ALTER TABLE ADD (indeks)
- BATASAN ALTER TABLE DROP (indeks berkluster)
Opsi
MAXDOPindeks tidak dapat ditentukan dalamALTER INDEX (...) REORGANIZEpernyataan.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
Di Object Explorer, pilih tanda plus untuk memperluas database yang berisi tabel tempat Anda ingin mengatur tingkat paralelisme maksimum untuk indeks.
Luaskan folder Tabel.
Pilih tanda plus untuk memperluas tabel tempat Anda ingin mengatur tingkat paralelisme maks untuk indeks.
Perluas folder Indeks.
Klik kanan indeks yang ingin Anda atur tingkat paralelisme maksimumnya dan pilih Properti.
Di bawah Pilih halaman, pilih Opsi.
Pilih Tingkat paralelisme maksimum, lalu masukkan beberapa nilai antara 1 dan 64.
Pilih OK.
Menggunakan Transact-SQL
Mengatur tingkat paralelisme maksimum pada indeks yang ada
Di Object Explorer, sambungkan ke instans Mesin Database.
Pada bilah Standar, pilih Kueri Baru.
Salin dan tempel contoh berikut ke dalam jendela kueri dan pilih Jalankan. Kode ini mengubah
IX_ProductVendor_VendorIDindeks padaPurchasing.ProductVendortabel 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
Di Object Explorer, sambungkan ke instans Mesin Database.
Pada bilah Standar, pilih Kueri Baru.
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