示例脚本一
以下是一个创建各类索引的SQL脚本,包含详细注释说明。脚本涵盖了聚集索引(Clustered Index)、非聚集索引(Non-Clustered Index)、唯一索引(Unique Index)和全文索引(Full-Text Index)。
-- 创建聚集索引(Clustered Index)
-- 聚集索引将数据行按索引键的顺序存储在表中,每个表只能有一个聚集索引。
CREATE CLUSTERED INDEX IDX_Clustered_OrderDate
ON Orders (OrderDate ASC);
-- 示例说明:对"Orders"表的"OrderDate"列创建升序的聚集索引,适合按日期查询数据。
-- 创建非聚集索引(Non-Clustered Index)
-- 非聚集索引包含索引键和指向数据行的指针,不影响表中数据的存储顺序。
CREATE NONCLUSTERED INDEX IDX_NonClustered_CustomerName
ON Customers (CustomerName ASC);
-- 示例说明:对"Customers"表的"CustomerName"列创建非聚集索引,适合搜索特定客户。
-- 创建唯一索引(Unique Index)
-- 唯一索引强制列中的值唯一性,防止重复值。
CREATE UNIQUE INDEX IDX_Unique_Email
ON Users (Email ASC);
-- 示例说明:对"Users"表的"Email"列创建唯一索引,确保电子邮件地址的唯一性。
-- 创建复合索引(Composite Index)
-- 复合索引是针对多列创建的索引,优化多列组合的查询性能。
CREATE NONCLUSTERED INDEX IDX_Composite_FirstLastName
ON Employees (FirstName ASC, LastName ASC);
-- 示例说明:对"Employees"表的"FirstName"和"LastName"列创建复合索引,适合按名字和姓氏组合查询。
-- 创建全文索引(Full-Text Index)
-- 全文索引用于全文搜索,例如搜索包含某些单词或短语的文本。
-- 全文索引的