• SqlServer为字段创建索引


    语法:
    CREATE [索引类型] INDEX 索引名称
    ON 表名(列名)

    创建索引实例:

    聚簇索引 create clustered index index_name on table_name (cloumn_name);

    非聚簇索引 create nonclustered index index_name on table_name (cloumn_name);

    唯一索引 create unique index index_name on table_name(cloumn_name);

    删除索引方法:

      可利用ALTER TABLE或DROP INDEX语句来删除索引。类似于CREATE INDEX语句,DROP INDEX可以在ALTER TABLE内部作为一条语句处理,语法如下。

      DROP INDEX index_name ON talbe_name

      ALTER TABLE table_name DROP INDEX index_name

      ALTER TABLE table_name DROP PRIMARY KEY

      其中,前两条语句是等价的,删除掉table_name中的索引index_name。

      第3条语句只在删除PRIMARY KEY索引时使用,因为一个表只可能有一个PRIMARY KEY索引,因此不需要指定索引名。如果没有创建PRIMARY KEY索引,但表具有一个或多个UNIQUE索引,则MySQL将删除第一个UNIQUE索引。

    总结:
          1.什么是索引:数据库中的索引是某个表中一列或多列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。
      2.分类:
         (1) 唯一索引(UNIQUE):不允许两行具有相同的索引值(创建了唯一约束,系统将自动创建唯一索引)

      在表上创建唯一索引。唯一索引是不允许其中任意两行具有相同索引值的索引。

    SQL Server 2005 Compact Edition (SQL Server Compact Edition) 在创建索引后将检查是否存在重复的值(如果数据已存在),并在每次使用 INSERT 或 UPDATE 语句添加数据时执行该检查操作。必须先消除重复值,然后才可对列创建唯一索引。如果存在重复的键值,则将取消 CREATE INDEX 语句并返回错误。只能对定义为 NOT NULL 的列创建唯一索引。

    如果存在唯一索引,则可能生成重复键值的 UPDATE 或 INSERT 语句将回滚,且 SQL Server Compact Edition 返回错误。即使 UPDATE 或 INSERT 语句更改许多行,但只要存在一个重复,上面这一点也将成立。

           (2)  主键索引:主键索引要求主键中的每个值是唯一的,(创建主键自动创建主键索引)
           (3)  聚集索引(CLUSTERED):表中各行的物理顺序与键值的逻辑(索引)顺序相同,表中只能包含一个聚集索引,主键列默认为聚集索引
           (4) 非聚集索引(NONCLUSTERED):表中各行的物理顺序与键值的逻辑(索引)顺序不匹配,表中可以有249个非聚集索引
        3.创建索引的标准:用语频繁搜索的列;用语对数据进行排序的列
    注意:如果表中仅有几行,或列中只包含几个不同的值,不推荐创建索引,因为SQL Server 在小型表中用索引搜索数据所花的时间比逐行搜索更长。

  • 相关阅读:
    浅析MySQL关联left join 条件on与where的区别
    c语言 char * char** 指针 * 和**
    MVC实用构架实战(一)——项目结构搭建
    实现存储过程自动执行jobs
    Oracle 建立索引及SQL优化
    vue vhtml table里内容不换行 带省略号
    canvas lineTo 理解
    canvas quadraticCurveTo 二次贝塞尔曲线
    canvas arc 画园
    Java对象内存模型
  • 原文地址:https://www.cnblogs.com/likui-bookHouse/p/8622410.html
Copyright © 2020-2023  润新知