当前位置: 首页 > news >正文

4-创建索引和约束

索引

概述

索引是一种与数据表相关的类似于目录的一种数据结构,MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。

索引也类似一张表,该表保存了主键与索引字段,并指向实体表的记录。

索引也可以分为单列索引和组合索引,单列索引表示一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引;组合索引表示一个索引包含多个列。

索引的优点

提高查询速度。

提高表与表之间连接的效率。

唯一性索引还可以保证数据记录的唯一性。

索引的缺点

虽然索引大大提高了查询速度,但却会降低更新表的速度,因为在对数据表进行INSERT、UPDATE、DELETE的操作时,MySQL不仅要保存数据,还要保存一下索引文件。因此,索引并不是创建的越多越好。

引用索引的原则

科学地设计索引,在提高查询效率的同时,应尽量减少索引带来的副作用。

考虑设置索引的情况如下:

  • 经常检索的列(在WHERE子句中使用的列)。
  • 主键列、外键列(事实上,主键约束列、唯一性约束列会自动创建索引)。
  • 经常用于表间连接的列。

考虑不设置索引的情况如下:

  • 检索中几乎不涉及到的列。
  • 重复值太多的列。
  • 数据类型为text、blob的列。
  • 行数极少的表没必要创建索引。
  • 插入、更新效率比查询效率更重要的情况。

创建表的同时创建索引

  • 可以使用CREATE TABLE语句在创建数据表的同时创建索引,其语法格式如下:
    CREATE TABLE <表名> (
    <字段名1>[, ……n] | 索引项
    )

其中索引项的语法格式为:
PRIMARY KEY [<索引名>](<字段名1> [ASC|DESC] [, ……n]) |
UNIQUE [INDEX] [<索引名>](<字段名1> [ASC|DESC] [, ……n]) |
INDEX | KEY [<索引名>](<字段名1> [ASC|DESC] [, ……n]) |
FULLTEXT [INDEX] [<索引名>](<字段名1> [ASC|DESC] [, ……n])

说明:

PRIMARY KEY:主键索引。
UNIQUE:唯一性索引。
INDEX | KEY:普通索引,KEY通常是INDEX的同义词,二选一即可。
FULLTEXT:全文索引。

  • 示例

在这里插入图片描述

在ALTER TABLE语句中创建索引

  • 如果数据表已经存在,可以使用ALTER TABLE语句创建索引,其语法格式如下:
    ALTER TABLE <表名>
    ADD 索引项

说明:语法中除了多一个ADD关键词,其他与在CREATE TABLE语句中创建索引类似。

  • 示例:

在这里插入图片描述

使用CREATE INDEX语句创建索引

  • 创建索引的语句使用CREATE INDEX,其语法格式如下:
    CREATE [UNIQUE] | [FULLTEXT] INDEX <索引名>
    ON <表名> (<字段名1> [ASC|DESC] [, ……n])

说明:若无UNIQUE、FULLTEXT关键词则是创建普通索引。

  • 示例:

在这里插入图片描述

使用SHOW INDEX语句查看索引

  • 查看索引使用语句SHOW INDEX,其语法格式如下:
    SHOW INDEX FROM <表名> [FROM &
http://www.dtcms.com/a/428431.html

相关文章:

  • 百度竞价网站永久免费网站虚拟主机
  • 做商城网站的广州站电话
  • 中小企业网站制作方法建网页和网站的区别
  • 【星海出品】cache和程序性能
  • 国外设计网站建站之星怎么收费
  • 网站建设的服务怎么样做网站必须要购买域名
  • 【武大杨景媛事件全过程】免费分享
  • 江苏001
  • 5分钟掌握现代C++多执行策略:基于DAG的任务调度系统
  • UFrame:面向规模化 Unity 项目的工程化框架
  • 西安网站优化招聘网普陀网站建设推广
  • 安卓门户网站开发wordpress 短链接插件
  • 【APK安全】组件安全核心风险与防御指南
  • 乌市网站建设为做论坛推广的网站
  • 【第五章:计算机视觉-项目实战之图像分割实战】2.图像分割实战:人像抠图-(5)模型训练与测试
  • 南昌网站建设公司特色网站开发需要看哪些书
  • 网站建设的建议高端自适应网站建设
  • petalinux 安装Armadillo
  • 如何备案网站建站之星网站成品分离
  • 快速傅里叶变换分析频谱详解及python代码示例
  • 做品牌 需要做网站吗大连网站建站
  • 【AI4S】通过单一基础模型双向生成分子的结构和特性
  • asp网站怎么打开网站制作用什么语言最好
  • 微信平台专业网站建设网站主页样式
  • 由豆包编程生成的挂机升级游戏
  • 昆山设计网站公司免费wordpress外贸企业主题
  • ​​MIME 详解:互联网数据格式的“翻译官”​
  • 怎么做网站网站抚顺网络推广
  • 全面解析营销智脑的核心功能与应用前景
  • 阜宁做网站价格太原网架公司