zoukankan      html  css  js  c++  java
  • 索引

    一:索引

    1.介绍

      数据库索引或索引,有助于加速从表中检索数据。 当从表查询数据时,首先MySQL会检查索引是否存在,然后MySQL使用索引来选择表的精确物理对应行,而不是扫描整个表。

      数据库索引类似于书的目录。果果要查找某个主题,首先查找索引,然后打开具有该主题的页面(页码),而不扫描整本书。

      强烈建议您在经常查询数据的表的列上创建索引。 请注意,所有主键列都是表的主索引。

      每当对表的行进行更改时,MySQL必须重建索引,这需要时间以及降低数据库服务器的性能。换句话说:使用索引可以加快查询数据,但是减慢了修改数据的速度。

    2.创建索引

      创建表时经常创建索引。MySQL自动将声明为PRIMARY KEYKEYUNIQUEINDEX的任何列添加到索引。

      另外,您可以向已经有数据的表添加索引。 

      要创建索引,可以使用CREATE INDEX语句。

      

    • 对于UNIQUE索引,MySQL创建一个约束,索引中的所有值都必须是唯一的。除了BDB之外,所有存储引擎都允许重复的NULL值。
    • FULLTEXT索引仅由MyISAM存储引擎支持,仅在数据类型为CHARVARCHARTEXT的列中接受。
    • SPATIAL索引支持空间列,可用于MyISAM存储引擎。另外,列值不能为NULL

    3.各个搜索引擎对应的索引类型

      

    4.示例(添加索引)

      使用CREATE INDEX语句将employees表的officeCode列添加索引。

      

    5.示例(删除索引)

      使用DROP INDEX语句来删除索引。

      

    二:unique索引

    1.介绍

      使用MySQL UNIQUE索引来防止表中一个或多个列中拥有重复的值。

      要强制执行一个或多个列的唯一性值,我们经常使用PRIMARY KEY约束。

      但是,每个表只有一个主键。 如果要使用多个列或一组具有唯一值的列,则不能使用主键约束。

      幸运的是,MySQL提供了另一种称为UNIQUE索引的索引,它允许您在一个或多个列中强制实现值的唯一性。 与PRIMARY KEY索引不同,每个表可以有多个UNIQUE索引。

    2.创建索引

      要创建一个UNIQUE索引,请使用CREATE UNIQUE INDEX语句。

      

      创建唯一约束时,MySQL会在幕后创建一个UNIQUE的索引。

      

      向现有表添加唯一约束。

      

    3.示例

      

      不仅希望电子邮件是唯一的,而且first_namelast_namephone的组合也是唯一的。

      

  • 相关阅读:
    Visual Studio 必备神器
    MVC中用Jpaginate分页 So easy!(兼容ie家族)
    仿花田:相亲网站 意中人 已在GitHub上开源
    仿花田:内部相亲网站 意中人(Asp.net MVC,Bootstrap2)
    Myeclipse最全快捷键
    SVG Viewer 3.0安装发现SVG Viewer License.txt无法介入写入,安装失败
    SVG报错error on line 39 at column 26: Namespace prefix xlink for href on script is not defined
    SVG可缩放矢量图形
    Google帮助IE浏览器实现对SVG支持
    JS代码判断IE6,IE7,IE8,IE9的函数代码
  • 原文地址:https://www.cnblogs.com/juncaoit/p/8325735.html
Copyright © 2011-2022 走看看