建索引
表:
CREATE TABLE test(id INT,a INT,b INT,c INT,d INT,e INT)ENGINE=MYISAM;
sql如下:
SELECT id,a,b,c,d FROM test
WHERE a=
and b=
ORDER BY c
LIMIT 100;
SELECT id,a,b,c,d FROM test
WHERE a=
and b=
ORDER BY d
LIMIT 100;
SELECT id,a,b,c,d FROM test
WHERE a=
and b=
ORDER BY e
LIMIT 100;
如何建立合适的索引呢?
我的做法是建立
CREATE idx_b_c ON test(a,b,c);
CREATE idx_b_c ON test(a,b,d);
CREATE idx_b_c ON test(a,b,e);
这样的三个索引。但是觉得有点不适合。。
太多索引了,有什么其他的方法吗
CREATE TABLE test(id INT,a INT,b INT,c INT,d INT,e INT)ENGINE=MYISAM;
sql如下:
SELECT id,a,b,c,d FROM test
WHERE a=
and b=
ORDER BY c
LIMIT 100;
SELECT id,a,b,c,d FROM test
WHERE a=
and b=
ORDER BY d
LIMIT 100;
SELECT id,a,b,c,d FROM test
WHERE a=
and b=
ORDER BY e
LIMIT 100;
如何建立合适的索引呢?
我的做法是建立
CREATE idx_b_c ON test(a,b,c);
CREATE idx_b_c ON test(a,b,d);
CREATE idx_b_c ON test(a,b,e);
这样的三个索引。但是觉得有点不适合。。
太多索引了,有什么其他的方法吗
作者: mr_mablevi 发布时间: 2011-05-26
EXPLAIN 你的SQL语句,根据情况不同,强制使用不同的索引
作者: wwwwb 发布时间: 2011-05-26