where条件对mysql多列索引的使用
来源:互联网 发布:win7怎么下载软件 编辑:程序博客网 时间:2024/05/18 03:05
MySQL手册中看到的,记录下。
MySQL可以为多个列创建索引。一个索引可以包括15个列。对于某些列类型,可以索引列的前缀(参见7.4.3节,“列索引”)。
多列索引可以视为包含通过连接索引列的值而创建的值的排序的数组。
MySQL按这样的方式使用多列索引:当你在WHERE子句中为索引的第1个列指定已知的数量时,查询很快,即使你没有指定其它列的值。
假定表具有下面的结构:
CREATE TABLE test (
id INT NOT NULL,
last_name CHAR(30) NOT NULL,
first_name CHAR(30) NOT NULL,
PRIMARY KEY (id),
INDEX name (last_name,first_name)
);
name索引是一个对last_name和first_name的索引。索引可以用于为last_name,或者为last_name和first_name在已知范围内指定值的查询。因此,name索引用于下面的查询:
SELECT * FROM test WHERE last_name='Widenius';
SELECT * FROM test
WHERE last_name='Widenius' AND first_name='Michael';
SELECT * FROM test
WHERE last_name='Widenius'
AND (first_name='Michael' OR first_name='Monty');
SELECT * FROM test
WHERE last_name='Widenius'
AND first_name >='M' AND first_name < 'N';
然而,name索引不用于下面的查询:
SELECT * FROM test WHERE first_name='Michael';
SELECT * FROM test
WHERE last_name='Widenius' OR first_name='Michael';
- where条件对mysql多列索引的使用
- Mysql Where 条件使用列别名
- RC隔离 更新where条件列 没有索引的情况
- Mysql where条件对int字段的处理
- mysql单列索引、多列索引的使用
- Mysql Where使用列别名
- 组合索引,前置列与where条件关系
- MySQL的多列索引
- MySQL搜索: WHERE 多条件
- MySQL搜索: WHERE 多条件
- MySQL对索引的使用
- Medoo Where的使用:条件
- 正确理解Mysql的列索引和多列索引
- 正确理解Mysql的列索引和多列索引
- Mysql的列索引和多列索引
- 正确理解Mysql的列索引和多列索引
- 正确理解Mysql的列索引和多列索引
- Mysql索引的使用-组合索引+跳跃条件
- 揭秘ASP.NET 2.0的Eval方法
- Wellner 1993快速自适应的图像二值化方法的提高 (Derek Bradley and Gerhard Roth 2007)
- ListBox的几个常用函数说明与举例
- Cairo 图形指南 (10) —— 文本
- 这些歌, 请戴上耳机, 调大音量, 一个人听 ,全世界 都是你的
- where条件对mysql多列索引的使用
- C#获取路径方法及代码
- 可重入函数(reentrant function)
- zoj 1649 Rescue
- 关于JSON的一个小小例子,数组的调用,和获值
- Cairo 图形指南 (11) —— 图像
- 【心理自问】
- MYSQL安装配置
- Silverlight:Dependency Property(依赖属性)学习笔记