我们已经准备好了,你呢?

2024我们与您携手共赢,为您的企业形象保驾护航!

2019独角兽企业高薪工程师招聘标准>>>

数据库中的索引对于搜索非常有用。作者做了两个实验。插入数据的时候,速度很慢。作者做了这样的实验:

1:数据库列的索引

①:首先执行语句 into test.user ( * from root.user where root.user.id>1 and root.user.id

②:发帖者在表字段名上添加了索引,效果非常显着,让发帖者感到惊讶。添加索引后,时间为0.56秒(具体时间我忘记了)。这是什么概念?与带索引的SQL相比,时间实际上是0.56秒。是上一级别的100倍!

③:数据库如何管理索引。我们都知道,数据在硬盘上的存储是无规律的。即使有两个相邻的数据,它们的物理地址也不一定相邻。因此,数据库为索引列维护一棵二叉树。二叉树的每个节点记录了相应的字段数据(id值)和物理地址。当你检索索引数据时,数据库会快速从二叉树中检索索引数据。找到你的搜索栏的值,然后根据对应的值获取对应的地址,从而根据弱地址快速定位到数据。

2:模糊搜索是否应该建立索引

①:发帖者使用了这样一个sql,* from where name like '%李%'。即使你给这个sql的名称添加了索引,它也不会使用索引,而是使用整个表。

②:作者改了一条SQL,* from where name like '李%',这条SQL稍后会被索引。

③:后来发帖者把百分号改到了前面,* from where name like '%李',这种SQL还是没有索引。

④:然后海报改变了:* from where id>0 and id

⑤:*来自其中id>0且id

因此,对于MySQL的索引问题:模糊搜索,%不走前面的索引,而是走后面的索引。如果SQL有索引,就会先去索引,但更重要的是,当模糊搜索中的百分号在后面时,当要搜索的数据被其他占位符占用时,SQL不会被索引!

二维码
扫一扫在手机端查看

本文链接:https://by928.com/7438.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线