mysql组合索引sql语句_mysql联合索引 sql索引使用

注意:Index(Name,Age)表示在Name,Age两列上建立联合索引由于索引对数据库的查询性能有着至关重要的影响,下面是我的一些总结和体会:一个查询一次只能使用一个索引:select name from user where name='plantegg' and age>35 , 如果Index(name); Index(age)的话,MySQL查询优化器会自动选择一个索引来使用;MySQL选择哪个索引,可以这样来看:mysql> show index from photo;+-------+------------+------------------------+--------------+---------------+-----------+-------------+----------+--------+------+------------+---------+| Table | Non_unique | Key_name               | Seq_in_index | Column_name   | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |+-------+------------+------------------------+--------------+---------------+-----------+-------------+----------+--------+------+------------+---------+| photo |           0 | PRIMARY                 |             1 | photo_id       | A         |       237871 |     NULL | NULL   |       | BTREE       |         || photo |           1 | index_random           |             1 | random         | A         |       237871 |     NULL | NULL   | YES   | BTREE       |         || photo |           1 | FK_photo_profile_id     |             1 | profile_id     | A         |       237871 |     NULL | NULL   |       | BTREE       |         || photo |           1 | FK_photo_temp_photo_id |             1 | temp_photo_id | A         |       237871 |     NULL | NULL   | YES   | BTREE       |         || photo |           1 | FK_photo_album_id       |             1 | album_id       | A         |       237871 |     NULL | NULL   | YES   | BTREE       |         |+-------+------------+------------------------+--------------+---------------+-----------+-------------+----------+--------+------+------------+---------+Cardinality越大表示索引候选分得越细(默认都是BTree索引);你也可以试试Force Index强制使用某个索引看看速度是不是MySQL是不是查询起来更快(如果真是这样的话你需要Analyze yourTable 了,MySQL重新计算你的Cardinality以帮助他正确地选择INDEX)仔细分析Explain的结果:重点留意Extra,Key,Rows,Select_type的结果!小心查询中的Group by 、order by之类的,基本上这样的查询在Explain的时候都会出现: Using where; Using temporary; Using filesort联合索引要小心使用,Index(Name,Age)时,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值