نقل قول نوشته شده توسط linux مشاهده تاپیک
دکتر!
وقتی ایندکس تعریف میکنی فکر کنم تا 16 تا فیلد(شاید هم بیشتر) بتونی با هم ایندکس کنی و این ها را یکتا تعریف کنی فکر کن یک جدول داری به شکل زیر
کد
نام
نام خانوادگی
نام پدر
شماره شناسنامه
می خواهی بر اساس 4 تا فیلد آخر ایندکس کنی
ای دستور ساختن جدول
CREATE TABLE [tbluserNames] (
[ID] [int] NOT NULL ,
[Name] [nvarchar] (50) COLLATE Arabic_CI_AS NULL ,
[Family] [nvarchar] (50) COLLATE Arabic_CI_AS NULL ,
[FatherName] [nvarchar] (50) COLLATE Arabic_CI_AS NULL ,
[IdNumber] [nvarchar] (50) COLLATE Arabic_CI_AS NULL ,
CONSTRAINT [PK_tbluserNames] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
) ON [PRIMARY]
این هم دستور ساختن ایندکس برای یکتا کردن چندتا فیلد با هم
 CREATE  UNIQUE  INDEX [IX_tbluserNames] ON [dbo].[tbluserNames]([Name], [Family], [FatherName], [IdNumber]) ON [PRIMARY]
بعضی چیزها سلیقه نیست اجبار هست.
دوست عزیز هدق شما از یکتا کردن اینها علاوه بر اینکه ID نیز یکتا میباشد چیست؟
این ایندکس که شما ایجاد کرده اید فضایی را اشغال میکند. که این فضا احتمالا" بیهوده به هدر خواهد رفت فقط برای چک کردن اینکه فیلد تکراری وارد نشود. در حالی که ما میتوانی فقط از همان PK استفاده کنیم. اگر حجم جدوال شما زیاد شود آنگاه یک فاجعه پیش می آید.
در ایجاد ایندکس ها دقت لازم را مبذول فرماید.