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

满意答案

00e27ab806e4881f8254fe7ae8741834.png

llt1711

2014.06.20

00e27ab806e4881f8254fe7ae8741834.png

采纳率:49%    等级:9

已帮助:614人

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")

00分享举报

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值