MYSQL索引在查询中如何使用
来源:互联网 发布:数据挖掘模型 编辑:程序博客网 时间:2024/05/16 07:35
假如你有一个表,
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 都包含在索引里面。 查询不需要去检索表中的数据
- MYSQL索引在查询中如何使用
- MYSQL索引问题:索引在查询中如何使用?
- MYSQL索引问题:索引在查询中如何使用?(转载)
- MYSQL索引问题:索引在查询中如何…
- 索引在查询中如何使用(例子一)
- mysql在数据库表中,使用索引可以大大提高查询速度
- 【进阶】MySQL中如何使用索引
- 在mysql中使用全文索引
- 如何在c:forEach中使用索引
- 如何在c:forEach中使用索引
- 如何在数据库中使用索引
- 如何在数据库中创建索引,提高查询速度
- 如何使用MySQL索引?
- MySQL中查询不使用索引的情况汇总
- MySQL查询优化-使用索引
- MYSQL查询优化:使用索引
- MYSQL查询优化:使用索引
- MYSQL查询优化:使用索引
- mysql 命令
- js的Prototype属性解释及常用方法
- java的(PO,VO,TO,BO,DAO,POJO)解释
- VMware Workstation CentOS的安装问题
- MySQL语句
- MYSQL索引在查询中如何使用
- PRJ: Split a nodes-map into some triangles
- 开闭原则
- Java和Hadoop的关系
- Java程序员进化为架构师掌握的知识
- Jenkins介绍
- 持续集成定义
- 持续集成要素
- 持续集成原则