请选择 进入手机版 | 继续访问电脑版
楼主: 我是小趴菜
504 1

[数据挖掘书籍] mysql中索引的作用 [推广有奖]

  • 0关注
  • 4粉丝

教授

35%

还不是VIP/贵宾

-

威望
0
论坛币
29645 个
通用积分
380.4133
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
7150 点
帖子
670
精华
0
在线时间
37 小时
注册时间
2022-8-30
最后登录
2023-4-4

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
mysql中索引的作用
1.索引是什么,首先我们可以举个例子,字典大家应该都使用过,我们可以使用目录快速定位到所要查找的内容,那么索引跟目录的作用类似,在数据库表记录中,利用索引,可以快速过滤查找到数据记录。

2. 索引类型分类:

普通索引--加快查询速度;

唯一索引--加快查询速度,并且可以限制列值的唯一性,允许为空, 唯一索引包括联合唯一索引,多列形成的唯一索引,这些列可 以唯一确定一条表记录,可以为空;

全文索引--主要针对文本的内容进行分词,加快查询速度;

联合索引--多列组成的索引,查询效率提升高于多个单列索引合并的效率;

主键索引--主键唯一性,加快查询速度,不能为空.

3.索引结构分类,索引有很多分类,例如B-tree索引,哈希索引,全文索引等等,索引的实现是在存储引擎层,并不是在后端服务 器层,所以不同的存储引擎支持的索引结构也不一定一样.

B-tree索引-- B-tree 索引普遍存在于存储引擎中,他使用B-tree数据结构来存储数据,如果对树形数据结构比较了解的话,就知道B-tree索引所带来的好处了,他的每个叶子节点都会包含下一个节点的指针,非常方便查询数据,B-tree 适用于全键值,键值范围,或者前缀查找.

哈希索引--哈希索引基于哈希表实现,对于每一行数据,存储引擎会对所有的索引列计算一个哈希码,然后存储引擎会基于这个哈希码来查找数据.

全文索引--全文索引在几种索引结构类型中比较特殊,他查找的是文本中关键词.

4.索引的正确使用, 索引是建立在系统文件上的,会占用一定的内存空间,另外数据在更新的时候也会去维护索引,消耗内存,所以索引一定要正确的使用,索引并不是越多越好,要根据具体的查询业务来规划索引的建立。

建议不要使用索引的几种情况:

a.区分度不是很大的字段,例如 性别 sex

b.频繁更新的字段

c.字符串类型的字段 或者 文本类型的字段

d. 不在where列中出现的索引

索引失效的几种情况:

a.查询列中有函数计算

b. 查询列中有模糊查询,"%cloum",可以使用"cloum%" 代替,如果要使用"%column%",那么select 列中是索引列

c. 如果查询条件中有or, 索引会失效,除非所有条件都加上索引

d.使用不等于(!= 或者 <>)

e. is null 或者 is not null

f. 字符串不加引号,会导致索引失效

g.最左原则,联合索引中会遵循最左原则,即如果要使用联合索引,那么前面的索引列一定要包含

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:MySQL sql column Select colum

saplow 发表于 2022-10-8 11:03:44 |显示全部楼层 |坛友微信交流群
好贴就点赞,一起拿积分

使用道具

您需要登录后才可以回帖 登录 | 我要注册

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2023-9-23 13:27