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
Ruang disk adalah pertimbangan penting saat Anda membuat, membangun kembali, atau menghilangkan indeks. Ruang disk yang tidak memadai dapat menurunkan performa atau bahkan menyebabkan operasi indeks gagal. Artikel ini menyediakan informasi umum yang dapat membantu Anda menentukan jumlah ruang disk yang diperlukan untuk operasi bahasa definisi data indeks (DDL).
Operasi indeks yang tidak memerlukan ruang disk tambahan
Operasi indeks berikut tidak memerlukan ruang disk tambahan:
ALTER INDEX REORGANIZE; namun, ruang log diperlukan.DROP INDEXsaat Anda menghapus indeks nonclustered.DROP INDEXsaat Anda menjatuhkan indeks terkluster secara offline tanpa menentukan klausulMOVE TOdan indeks non-berkumpulan tidak ada.CREATE TABLE(PRIMARY KEYatauUNIQUEbatasan)
Operasi indeks yang memerlukan ruang disk tambahan
Semua operasi DDL indeks lainnya memerlukan ruang disk sementara tambahan untuk digunakan selama operasi, dan ruang disk permanen untuk menyimpan struktur atau struktur indeks baru.
Jika struktur indeks baru dibuat, ruang disk untuk struktur lama (sumber) dan baru (target) diperlukan dalam file dan grup file yang sesuai. Struktur lama tidak di-dealokasikan sampai transaksi penciptaan indeks dikomitmenkan.
Operasi DDL indeks berikut membuat struktur indeks baru dan memerlukan ruang disk tambahan:
CREATE INDEXCREATE INDEX WITH DROP_EXISTINGALTER INDEX REBUILD-
ALTER TABLE ADD CONSTRAINT(PRIMARY KEYatauUNIQUE) -
ALTER TABLE DROP CONSTRAINT(PRIMARY KEYatauUNIQUE) ketika batasan didasarkan pada indeks berkluster -
DROP INDEX MOVE TO(Hanya berlaku untuk indeks berkluster.)
Ruang disk sementara untuk pengurutan
Selain ruang disk yang diperlukan untuk struktur sumber dan target, ruang disk sementara diperlukan untuk pengurutan, kecuali pengoptimal kueri menemukan rencana eksekusi yang tidak memerlukan pengurutan.
Jika pengurutan diperlukan, pengurutan terjadi satu indeks baru pada satu waktu. Misalnya, saat Anda membangun kembali indeks berkluster dan indeks noncluster terkait dalam satu pernyataan, indeks diurutkan satu demi satu. Oleh karena itu, ruang disk sementara tambahan yang diperlukan untuk pengurutan hanya harus sebesar indeks terbesar dalam operasi. Ini hampir selalu indeks berkluster.
Jika opsi SORT_IN_TEMPDB disetel ke ON, indeks terbesar harus sesuai dengan tempdb. Meskipun opsi ini meningkatkan jumlah ruang disk sementara yang digunakan untuk membuat indeks, opsi ini dapat mengurangi waktu yang diperlukan untuk membuat indeks ketika tempdb berada di sekumpulan disk yang berbeda dari database pengguna.
Jika SORT_IN_TEMPDB diatur ke OFF (default) setiap indeks, termasuk indeks yang dipartisi, diurutkan di ruang disk tujuannya; dan hanya ruang disk untuk struktur indeks baru yang diperlukan.
Untuk contoh menghitung ruang disk, lihat Contoh ruang disk indeks.
Ruang disk sementara untuk operasi indeks online
Saat Anda melakukan operasi indeks secara online, ruang disk sementara tambahan diperlukan.
Jika indeks berkluster dibuat, dibangun kembali, atau dihilangkan secara online, indeks non-kluster sementara dibuat untuk memetakan marka buku lama ke marka buku baru. Jika opsi SORT_IN_TEMPDB diatur ke ON, indeks sementara ini dibuat di tempdb. Jika SORT_IN_TEMPDB diatur ke OFF, grup file atau skema partisi yang sama dengan indeks target digunakan. Indeks pemetaan sementara berisi satu rekaman untuk setiap baris dalam tabel, dan kontennya adalah gabungan kolom bookmark lama dan baru, termasuk pengidentifikasi unik dan pengidentifikasi rekaman dan hanya menyertakan satu salinan kolom apa pun yang digunakan di kedua marka buku. Untuk informasi selengkapnya tentang operasi indeks online, lihat Melakukan operasi indeks secara online.
Catatan
Opsi SORT_IN_TEMPDB tidak dapat diatur untuk DROP INDEX pernyataan. Indeks pemetaan sementara selalu dibuat dalam grup file atau skema partisi yang sama dengan indeks target.
Operasi indeks online menggunakan penerapan versi baris untuk mengisolasi operasi indeks dari efek modifikasi yang dilakukan oleh transaksi lain. Ini menghindari kebutuhan untuk meminta kunci berbagi pada baris yang telah dibaca. Operasi pembaruan dan penghapusan pengguna bersamaan selama operasi indeks online memerlukan ruang untuk rekaman versi di tempdb. Untuk informasi selengkapnya, lihat Melakukan operasi indeks secara online .
Tugas terkait
- Contoh ruang indeks disk
- Ruang disk log transaksi untuk operasi indeks
- Memperkirakan ukuran tabel
- Memperkirakan ukuran indeks berkluster
- Memperkirakan ukuran indeks yang tidak terkluster
- Memperkirakan ukuran timbunan