Rumah > pangkalan data > tutorial mysql > Bagaimanakah Indeks Ditapis Boleh Menguatkuasakan Kekangan Unik Bersyarat dalam Pelayan SQL?

Bagaimanakah Indeks Ditapis Boleh Menguatkuasakan Kekangan Unik Bersyarat dalam Pelayan SQL?

Susan Sarandon
Lepaskan: 2025-01-10 10:31:22
asal
838 orang telah melayarinya

How Can Filtered Indexes Enforce Conditional Unique Constraints in SQL Server?

Kekangan Unik Bersyarat dengan Indeks Ditapis dalam Pelayan SQL

Reka bentuk pangkalan data kadangkala memerlukan kekangan unik bersyarat: keunikan dikuatkuasakan pada set lajur hanya apabila lajur lain memenuhi syarat tertentu. Ini adalah perkara biasa apabila menguruskan rekod aktif dan tidak aktif, memelihara integriti data. Indeks yang ditapis SQL Server menawarkan penyelesaian yang cekap. Indeks yang ditapis mencipta indeks unik pada subset baris jadual, ditakrifkan oleh predikat penapis.

Melaksanakan Keunikan Berdasarkan Status Rekod

Bayangkan jadual dengan lajur ID, Name dan RecordStatus. Kami memerlukan kekangan unik pada (ID, RecordStatus) hanya apabila RecordStatus = 1 (rekod aktif). Indeks yang ditapis mencapai ini:

<code class="language-sql">CREATE UNIQUE INDEX MyIndex
ON MyTable (ID)
WHERE RecordStatus = 1;</code>
Salin selepas log masuk

Ini memastikan keunikan untuk ID hanya apabila RecordStatus ialah 1, membenarkan berbilang rekod tidak aktif (RecordStatus = 2) dengan ID yang sama.

Status Di Luar Rekod: Keunikan Bersyarat Serbaguna

Indeks yang ditapis tidak terhad kepada status rekod. Ia membolehkan kawalan terperinci ke atas keunikan data berdasarkan pelbagai kriteria, meningkatkan integriti dan prestasi data.

Kelebihan Indeks Ditapis

Berbanding dengan alternatif seperti pencetus, tawaran indeks yang ditapis:

  • Peningkatan Prestasi: Pengindeksan hanya baris yang berkaitan mempercepatkan carian dan sisipan.
  • Storan Dikurangkan: Kurang storan digunakan kerana indeks hanya meliputi baris yang diperlukan.
  • Penyelenggaraan Ringkas: Kemas kini automatik dengan perubahan data menghapuskan penyelenggaraan tambahan.

Ringkasan

Indeks yang ditapis SQL Server menyediakan cara yang teguh dan cekap untuk menguatkuasakan kekangan unik bersyarat. Ia menawarkan keseimbangan antara integriti data, prestasi dan pengoptimuman storan.

Atas ialah kandungan terperinci Bagaimanakah Indeks Ditapis Boleh Menguatkuasakan Kekangan Unik Bersyarat dalam Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan