java 索引_索引 - java未来的大佬 - 博客园

索引:索引是对数据库表中一列或者多列值进行排序的一种结构,使用索引可提高数据库中特定数据的查询速度。

索引是在存储引擎中实现的。mysql中索引的存储类型有两种,BTREE和HASH。

d8c977f3296c8f8e706b6d533b9e4506.png

索引分类:

普通索引:允许插入重复值和空值。

唯一索引:索引列值唯一,允许有空值。组合索引,列值组合必须唯一。主键索引是一种特殊的唯一索引,不允许为空。

单列索引:一个索引只有一列,一张表可以有多个单列索引。

组合索引:多个字段组合的索引。

全文索引:FULLTEXT。支持全文查找,允许在这些列中插入重复值和空值。可在char,varchar,text类型的列上创建。mysql中只支持MyISAM存储引擎支持全文索引。

空间索引:对空间数据类型的字段建立的索引。

索引的设计原则:

9ec82838a23c744639e75a10936a9603.png

创建普通索引

06cfbad2c29f15ca41725adcb0e78b4b.png

5b2d11509ac8841e9a10110b0d49ce07.png

Explain语句输出结果的各个行解释如下:

8455163bcae919944604d6dca0afbd6f.png

创建唯一索引:

951eed8f011f018721db9983946922d3.png

e01f0b868875c08b4574c694a19234ed.png

创建单列索引:

单列索引是数据表中的某一个字段上创建的一个索引,一个表中可以创建多个单列索引。

f35adcfbacd748dee504604abd9f449f.png

创建组合索引:

04d8fb2338f4fd3dc1323a17b921a216.png

创建全文索引:

6274a32a4d6bf2c074da210346afb8fa.png

创建空间索引:

空间索引必须建在MyISAM类型的表中创建,并且空间类型的字段上必须为非空。

4c6b094caf7a8b153c18a9a79521b59c.png

删除索引:

alter table table_name drop index index_name

drop index index_name on table_name

数据库三范式:

第一范式(1NF):强调的是列的原子性,即列不能够再分成其他几列。

第二范式(2NF):首先是 1NF,另外包含两部分内容,一是表必须有主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。

第三范式(3NF):首先是 2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值