Rumah > pangkalan data > tutorial mysql > Bolehkah saya Mencipta Indeks pada Pembolehubah Jadual Pelayan SQL?

Bolehkah saya Mencipta Indeks pada Pembolehubah Jadual Pelayan SQL?

Mary-Kate Olsen
Lepaskan: 2025-01-12 21:32:46
asal
969 orang telah melayarinya

Can I Create Indexes on SQL Server Table Variables?

Indeks pada pembolehubah jadual SQL Server

Dalam SQL Server 2014 dan lebih baru, adalah mungkin untuk mencipta indeks secara langsung pada pembolehubah jadual menggunakan sintaks sebaris. Contohnya:

<code class="language-sql">DECLARE @T TABLE (
  C1 INT INDEX IX1 CLUSTERED,
  C2 INT INDEX IX2 NONCLUSTERED,
  INDEX IX3 NONCLUSTERED(C1, C2),
);</code>
Salin selepas log masuk

Sebaliknya, dalam SQL Server 2000 hingga 2012, indeks tidak boleh dibuat secara eksplisit pada pembolehubah jadual. Walau bagaimanapun, indeks tersirat boleh dibuat melalui pengisytiharan kekangan.

Buat indeks untuk lajur Nama dalam SQL Server 2000

Pertimbangkan pengisytiharan pembolehubah jadual berikut:

<code class="language-sql">DECLARE @TEMPTABLE TABLE (
  [ID] [INT] NOT NULL PRIMARY KEY,
  [Name] [NVARCHAR] (255) COLLATE DATABASE_DEFAULT NULL,
);</code>
Salin selepas log masuk

Bolehkah saya mencipta indeks pada lajur Nama?

Ya, anda boleh menggunakan kekangan UNIQUE NONCLUSTERED untuk mencipta indeks pada lajur Nama. Sintaksnya adalah seperti berikut:

<code class="language-sql">DECLARE @TEMPTABLE TABLE (
  [ID] [INT] NOT NULL PRIMARY KEY,
  [Name] [NVARCHAR] (255) COLLATE DATABASE_DEFAULT NULL,
  UNIQUE NONCLUSTERED ([Name], [ID]),
);</code>
Salin selepas log masuk

Pelaksanaan indeks pada pembolehubah jadual

Jadual tradisional dalam SQL Server boleh menjadi indeks berkelompok atau timbunan. Dalam pembolehubah jadual, indeks dicipta secara tersirat hanya melalui kekangan. Ini bermakna jenis indeks yang boleh dibuat pada pembolehubah jadual adalah terhad.

Jadual berikut meringkaskan jenis indeks yang berbeza dan sama ada ia boleh dibuat pada pembolehubah jadual dalam SQL Server 2000 hingga 2012.

索引类型 表变量支持
唯一聚集索引
非唯一聚集索引
堆上的唯一非聚集索引
堆上的非唯一非聚集索引
聚集索引上的唯一非聚集索引
聚集索引上的非唯一非聚集索引

Dalam contoh yang diberikan, indeks bukan berkelompok bukan unik pada lajur Nama disimulasikan dengan mencipta indeks unik pada Nama dan ID. Ini kerana SQL Server secara tersirat menambah kunci indeks berkelompok kepada kunci indeks bukan unik.

Atas ialah kandungan terperinci Bolehkah saya Mencipta Indeks pada Pembolehubah Jadual 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