永发信息网

mysql 添加索引后 在查询的时候是mysql就自动从索引里面查询了。还是查询的时候有单 独的参数查询索引?

答案:2  悬赏:60  手机版
解决时间 2021-04-19 00:17
mysql 添加索引后 在查询的时候是mysql就自动从索引里面查询了。还是查询的时候有单 独的参数查询索引?
最佳答案
MYSQL在创建索引后对索引的使用方式分为两种:
1 由数据库的查询优化器自动判断是否使用索引;
2 用户可在写SQL语句时强制使用索引

下面就两种索引使用方式进行说明
第一种,自动使用索引。数据库在收到查询语句后会查看where语句后面的查询条件,同时查看在表上面有哪些索引,然后根据查询条件和索引进行匹配。
查询条件和索引的匹配包括查询字段与索引字段的匹配和查询类型和索引类型的匹配。前者很好理解,就是查询条件的属性上要建有索引,后者则是说查询条件必须能够使用索引,比如等值判断和范围查询可以使用B+树索引,而hash索引只能适用于等值判断。
在找到与查询条件匹配的索引后,就是进行代价估计来决定是否使用索引,代价估计主要根据要访问的就数量,一般来说如果通过索引访问的记录数量占全表记录数量15%以上,则不会使用索引而是使用全表扫描,因为此时使用索引的代价更大。在大多数情况下使用索引是会提高效率的。
经过优化器的判断,最终会决定是否使用索引

第二种,强制使用索引,主要是通过SQL语句实现的
select * from table force index(PRI) limit 2;(强制使用主键)
select * from table force index(ziduan1_index) limit 2;(强制使用索引"ziduan1_index")
select * from table force index(PRI,ziduan1_index) limit 2;(强制使用索引"PRI和ziduan1_index")
也可以禁止索引的使用
select * from table ignore index(PRI) limit 2;(禁止使用主键)
select * from table ignore index(ziduan1_index) limit 2;(禁止使用索引"ziduan1_index")
select * from table ignore index(PRI,ziduan1_index) limit 2;(禁止使用索引"PRI,ziduan1_index")
全部回答
假如你有一个表,
SQL> CREATE TABLE test_tab (
2 id INT,
3 name VARCHAr(10),
4 age INT,
5 val VARCHAr(10)
6 );
你的业务,有一个查询,是
SELECt * FROM test_tab WHERe name = 一个外部输入的数据
刚开始,数据不多的时候,执行效果还不错。
随着数据量的增加,这个查询,执行起来,越来越慢了。
然后在 name 上面 建立了索引
CREATE INDEX idx_test4_name ON test_tab (name );
这样, 可以加快前面那个查询的速度。
但是,某天,你执行了下面这个SQL, 发现速度又慢了
SELECt * FROM test_tab WHERe age = 25
为啥呢? 因为 age 字段上面,没有索引
索引只在 name 上面有
换句话说, 也就是 WHERe 里面的条件, 会自动判断,有没有 可用的索引,如果有, 该不该用。
多列索引,就是一个索引,包含了2个字段。
例如:
CREATE INDEX idx_test_name_age ON test_tab (name, age);
那么
SELECt * FROM test_tab
WHERe
name LIKE '张%'
AND age = 25
这样的查询,将能够使用上面的索引。
多列索引,还有一个可用的情况就是, 某些情况下,可能查询,只访问索引就足够了, 不需要再访问表了。例如:
SELECt
AVG( avg ) AS 平均年龄
FROM
test_tab
WHERe
name LIKE '张%'
这个时候, name 与 age 都包含在索引里面。 查询不需要去检索表中的数据。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
白字田字格怎么写,Word默认中文的字体是什么
重庆市蔡园坝长途汽车站就是重庆长途汽车站吗
本田锋范换机油多少钱,本田锋范用什么机油好
任意写一个大于100的能被3整除的整数,求这个
福州机场到平潭要多久,福州到平潭高速最快要
PUMA 温州直营店在哪里?
对老师的感谢和祝福语,怎么委婉的不伤感情的
美居雅阁装饰公司地址在什么地方,想过去办事
怎样做好一个合格员工,我要怎么样做才是一个
同等热量的煤高挥发燃烧时间长还是低挥发燃烧
一个斜土一个目念什么,金字旁上面一个目下面
小红今天看书,从第十页看到十七页,请问一共
函数y=x^3-1在区间负无穷到正无穷
爱的古诗词,与烽火有关的诗句
一站到底是什么概念,一站到底有什么优缺点
推荐资讯
开瑞优优汽油车打着加油没劲,不踩油门根本就
有没有人在yy平台工作啊,最好有打字员的平台
非公经济人士指什么,什么是非公有制经济组织
天下云辙事不周,人心难比水常流,初次相交甜如
车辆违章怎么处理扣分,车辆违章太多,找不到
空调销售属于什么行业,海信变频空调外机不工
建筑企业理念标语,企业宗旨标语大全哪儿有
请问下06款东风日产天籁v6发动机排量2.3的:
我目前在一家广告公司工作 英文翻译
烤羊肉串的碳怎么点燃啊
灭活疫苗和减活疫苗哪个更好?
表达不是谦虚的诗词,关于友善,诚信,谦虚,自信
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?