最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

B+树索引的使用

来源:动视网 责编:小采 时间:2020-11-09 10:44:14
文档

B+树索引的使用

B+树索引的使用:可以看到我们将取出行的数大概是表的100%的行,因此优化器没有选择使用索引。Mysql数据库的优化器会通过EXPLAIN的rows字段预估查 什么时候使用B+树索引 并不是在所有的查询条件下出现的列都需要添加索引。对于什么时候添加B+树索引,我的经验是访问表中
推荐度:
导读B+树索引的使用:可以看到我们将取出行的数大概是表的100%的行,因此优化器没有选择使用索引。Mysql数据库的优化器会通过EXPLAIN的rows字段预估查 什么时候使用B+树索引 并不是在所有的查询条件下出现的列都需要添加索引。对于什么时候添加B+树索引,我的经验是访问表中


可以看到我们将取出行的数大概是表的100%的行,因此优化器没有选择使用索引。Mysql数据库的优化器会通过EXPLAIN的rows字段预估查

什么时候使用B+树索引

并不是在所有的查询条件下出现的列都需要添加索引。对于什么时候添加B+树索引,我的经验是访问表中很少一部分时,使用B+树索引才有意义。对于性别字段,地区字段,类型字段,它们可取值的范围很小,即低选着性。如:

select * from student WHERE sex = 'M'

对于性别,可取值的范围只有'M','F'。对上述SQL语句得到的结果可能是该表的50%的数据,这时添加B+树索引时完全没有必要的。相反,如果某个字段的取值范围很广,几乎没有重复,即高选择性,即此时使用B+树索引时做合适的,例如姓名字段,基本上在一个应用中都不允许重名的出现。

因此,当访问高选择性字段并从表中取出很少一部分时,对这个字段添加B+树索引是非常有必要的。但是如果出现了访问字段是高选择性的,但是取出的行数据占用表中大部分的数据时,这时MySQL数据库就不会使用B+树索引了,我们先来看一个例子:


mysql> show index from info\G;

*************************** 1. row ***************************

Table: info

Non_unique: 0

Key_name: PRIMARY

Seq_in_index: 1

Column_name: id

Collation: A

Cardinality: 356639

Sub_part: NULL

Packed: NULL

Null:

Index_type: BTREE

Comment:

Index_comment:

*************************** 2. row ***************************

Table: info

Non_unique: 1

Key_name: index_link_family

Seq_in_index: 1

Column_name: link_family

Collation: A

Cardinality: 9385

Sub_part: 255

Packed: NULL

Null: YES

Index_type: BTREE

Comment:

Index_comment:

*************************** 3. row ***************************

Table: info

Non_unique: 1

Key_name: index_date

Seq_in_index: 1

Column_name: date

Collation: A

Cardinality: 356639

Sub_part: NULL

Packed: NULL

Null:

Index_type: BTREE

Comment:

Index_comment:

文档

B+树索引的使用

B+树索引的使用:可以看到我们将取出行的数大概是表的100%的行,因此优化器没有选择使用索引。Mysql数据库的优化器会通过EXPLAIN的rows字段预估查 什么时候使用B+树索引 并不是在所有的查询条件下出现的列都需要添加索引。对于什么时候添加B+树索引,我的经验是访问表中
推荐度:
标签: 使用 数据库 oracle
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top