/**/
/*索引*/
-- 索引是对数据库表中一个或多个列的值进行排序的结构
-- 索引提供指针以指向存储在表中指定列的数据值,然后根据指定的排序次序排列这些指针
/**/ /*查询指定的数据库有多少张表*/
select object_id ( ' employee ' )
-- 获得指定database对象的ID,如果该对象不存在,返回NULL
select name from syscolumns where id = object_id ( ' employee ' )
-- 返回指定表的字段
select name from sysobjects where xtype = ' U '
-- 返回指定数据库的用户表
-- xtype表类型,U表示用户表
/**/ /*索引分类*/
-- 表中各行的物理顺序与键值的逻辑(索引)顺序相同称为聚集索引 。表只能包含一个聚集索引
-- 非聚集索引指定表的逻辑顺序。
select * from sysindexes where name = ' lecky '
-- sysindexes 查询指定表的索引
-- 0表示无索引
-- name为索引名
/**/ /**主键不允许添加在允许为空的字段**/
-- 创建表的时候,如果指定了主键,那么SQL自动在主键列上面创建聚集索引,
-- 索引的名称和主键约束的名称相同
/**/ /*sysindexes*/
-- 数据库中的每个索引和表在表中各占一行
-- 该表存储在每个数据库中
-- 表 indid字段表示索引 ID
-- 1 = 聚集索引
-- >1 = 非聚集
-- 255 = 具有 text 或 image 数据的表条目
/**/ /*创建索引的指导原则*/
-- 适合创建索引情况:
-- --该列频繁用于进行搜索。
-- --该列用于对数据进行排序。
-- 不适合创建索引情况:
-- --列中仅包含几个不同的值。
-- --表中仅包含几行。
/**/ /*创建索引*/
CREATE [ UNIQUE ] [ CLUSTERED|NONCLUSTERED ]
INDEX index_name
ON table_name(column_name [ , column_name ] …)
-- 在允许为空的列上创建聚合索引
-- 可录入相同数据,说明聚集索引不一定唯一,二者没有直接关系
-- 默认创建非聚集,不唯一的索引
/**/ /*查询索引*/
select * from sysindexes where name = ' index_name '
/**/ /*非聚集索引*/
-- 非聚集索引指定表的逻辑顺序。数据存储在一个位置,索引存储在另一个位置,索引中包含指向 数据存储位置的指针。
-- 一个表可以有多个(最多249个)非聚集索引
-- 索引是对数据库表中一个或多个列的值进行排序的结构
-- 索引提供指针以指向存储在表中指定列的数据值,然后根据指定的排序次序排列这些指针
/**/ /*查询指定的数据库有多少张表*/
select object_id ( ' employee ' )
-- 获得指定database对象的ID,如果该对象不存在,返回NULL
select name from syscolumns where id = object_id ( ' employee ' )
-- 返回指定表的字段
select name from sysobjects where xtype = ' U '
-- 返回指定数据库的用户表
-- xtype表类型,U表示用户表
/**/ /*索引分类*/
-- 表中各行的物理顺序与键值的逻辑(索引)顺序相同称为聚集索引 。表只能包含一个聚集索引
-- 非聚集索引指定表的逻辑顺序。
select * from sysindexes where name = ' lecky '
-- sysindexes 查询指定表的索引
-- 0表示无索引
-- name为索引名
/**/ /**主键不允许添加在允许为空的字段**/
-- 创建表的时候,如果指定了主键,那么SQL自动在主键列上面创建聚集索引,
-- 索引的名称和主键约束的名称相同
/**/ /*sysindexes*/
-- 数据库中的每个索引和表在表中各占一行
-- 该表存储在每个数据库中
-- 表 indid字段表示索引 ID
-- 1 = 聚集索引
-- >1 = 非聚集
-- 255 = 具有 text 或 image 数据的表条目
/**/ /*创建索引的指导原则*/
-- 适合创建索引情况:
-- --该列频繁用于进行搜索。
-- --该列用于对数据进行排序。
-- 不适合创建索引情况:
-- --列中仅包含几个不同的值。
-- --表中仅包含几行。
/**/ /*创建索引*/
CREATE [ UNIQUE ] [ CLUSTERED|NONCLUSTERED ]
INDEX index_name
ON table_name(column_name [ , column_name ] …)
-- 在允许为空的列上创建聚合索引
-- 可录入相同数据,说明聚集索引不一定唯一,二者没有直接关系
-- 默认创建非聚集,不唯一的索引
/**/ /*查询索引*/
select * from sysindexes where name = ' index_name '
/**/ /*非聚集索引*/
-- 非聚集索引指定表的逻辑顺序。数据存储在一个位置,索引存储在另一个位置,索引中包含指向 数据存储位置的指针。
-- 一个表可以有多个(最多249个)非聚集索引