美文网首页
数据库约束constraint

数据库约束constraint

作者: Cassie测试路 | 来源:发表于2019-01-11 12:38 被阅读0次

索引是对数据库表中的一列或者多列的值进行排序的一种 数据结构 ,使用索引可以快速访问数据库表中的特定信息(避免了全表扫描的耗时)。

  • 索引分为: 聚簇索引非聚簇索引 。聚簇索引是按照数据存放的物理位置为顺序的,非聚簇索引不一样;聚簇索引能够提高多行检索的速度,非聚簇索引对于单行的检索很快。
  • 常见索引类型: 主键索引 (唯一索引的特例), 唯一索引 (关联的列不能有2行相同的值), 聚集索引 (表中行的物理顺序与键值索引的逻辑顺序相同。一个表只能包含一个聚集索引)

优点:

  • 例如:SELECT * FROM projects WHERE id=110,没有索引时需要全表扫描projects表直到找到符合项,如果给id列添加索引,则只需要在索引列进行搜索,并且因为索引列是经过某种算法优化过的,所以查找次数要小很多。
  1. 创建唯一性索引,可以保证数据库表中每一行数据的唯一性
  2. 可以大大加快数据的检索速度
  3. 可以加速表与表之间的链接,特别是再实现数据的参考完整性方面

缺点:

  1. 创建索引和维护索引需要耗时,并且随着数据量的增加时间会增加
  2. 索引需要占据一定的物理空间
  3. 对表中的数据进行修改时(增加,删除,更新),索引也需要进行动态维护,降低了数据的维护速度。
实践
  • SHOW INDEX FROM table_name,显示某表上的所有索引
  • CREATE INDEX index_name ON table_name(col_name),为表的某列添加索引
  • CREATE UNIQUE INDEX index_name ON table_name(col1, col2),为表的某列添加唯一索引
  • ALTER TABLE table_name DROP INDEX index_name,修改表:删除表的某个索引
SHOW INDEX FROM projects;                          # 显示projects表上的所有索引

CREATE INDEX index_school_address ON schools(address DESC)  # 以降序索引某列的值
CREATE UNIQUE INDEX index_name ON schools(name)    # 添加唯一索引

ALTER TABLE schools DROP index_name ON schools     # 删除索引
DROP INDEX index_name ON schools                   # 同上
  • index_type索引类型: BTREE

  • Non_unique是否不唯一: 0表示唯一索引,1表示不是唯一索引

  • key_name索引名称: PRIMARY(主键索引)/xxx

  • Column_name索引作用的列:一列或者多列(如果某几个条件经常需要组合筛选则可以在这几个列上建立索引)

  • 一个索引可以包含多个列,同一个列也可以对应多个索引

  • navicat工具:在ctrl+d设计表页面,点击索引,可以查看当前列上的索引(索引名称、索引类型和索引方法等)

相关文章

  • SQL学习二十、SQL高级特性

    约束(constraint) 管理如何插入或处理数据库数据的规则。 DBMS 通过在数据库表上施加约束来实施引用完...

  • SQL Server中有5种约束:

    主键约束(Primary Key Constraint)、默认约束(Default Constraint)、检查约...

  • 数据库约束constraint

    索引是对数据库表中的一列或者多列的值进行排序的一种 数据结构 ,使用索引可以快速访问数据库表中的特定信息(避免了全...

  • MySQL 的约束和索引专题

    约束 约束(constraint)管理如何插入或处理数据库数据的规则。 主键约束表中任意列只要满足以下条件,都可以...

  • 约束(Constraint)

    NOT NULL约束(只能定义在列级上): 确保被约束的列所有记录都不能为空值。 指定约束的名字: UNIQUE约...

  • 约束,三范式,索引

    约束 一、定义 约束(constraint):在建表时,为某些列添加一些特定的规则,保证数据库的数据满足某种用户的...

  • Smart3D(ContextCapture)操作手册中文翻译3

    4.2.6.1原点约束(ORIGINCONSTRAINT) 添加约束>添加原点约束(Add constraint ...

  • Oracle SQL 学习笔记14- 约束

    约束(Constraint)概要 约束是强加在表上的规则或条件。确保数据库满足业务规则。保证数据的完整性。当对表进...

  • sql中constraint 前缀的用意

    --主键constraint PK_字段 primary key(字段), --唯一约束constraint UK...

  • 17/12/13约束

    17/12/13约束 约束命名规则 表明_列名 _约束类型 unique约束(唯一约束) constraint(建...

网友评论

      本文标题:数据库约束constraint

      本文链接:https://www.haomeiwen.com/subject/pkqxdqtx.html