MYSQL - 索引简单示例

最普通的情况,是为出现在where子句的 字段建一个 索引。为方便讲述,先建立一个如下的表。
CREATE TABLE mytable(
idserial primary key,
category_id int not null default0,
user_id int not null default0,
adddate int not null default0
);
 
如果在查询时常用类似以下的语句:
SELECT * FROM mytable WHERE category_id=1;
 
最直接的应对之道,是为category_id建立一个简单的 索引
CREATE INDEX mytable_categoryid ON mytable (category_id);
 
OK.如果有不止一个选择条件呢?例如:
SELECT * FROM mytable WHERE category_id=1 AND user_id=2;
 
第一反应可能是,再给user_id建立一个索引。不好,这不是一个最佳的方法。可以建立多重的 索引
CREATE INDEX mytable_categoryid_userid ON mytable(category_id,user_id);
 
注意到在命名时的习惯了吗?使用"表名_ 字段1名_字段2名"的方式。很快就会知道为什么这样做了。
 
 

你可能感兴趣的:(mysql)