쿼리 관련 질문하나 드릴께요

by 잡동사니 posted Jan 19, 2011

CREATE TABLE "test1"(
"test1_id" integer,
"test2_id" integer NOT NULL,
"test3_id" integer NOT NULL,
CONSTRAINT pk_test1_test1_id PRIMARY KEY("test1_id"),
FOREIGN KEY ("test2_id") REFERENCES "test2"("test2_id") ON DELETE RESTRICT ON UPDATE RESTRICT,
FOREIGN KEY ("test3_id") REFERENCES "test3"("test3_id") ON DELETE RESTRICT ON UPDATE RESTRICT
);

CREATE TABLE "test2"(
"test2_id" integer,
CONSTRAINT pk_test1_test2_id PRIMARY KEY("test2")
);

CREATE TABLE "test3"(
"test3_id" integer,
CONSTRAINT pk_test3_test3_id PRIMARY KEY("test3")
);

select * from test1 a 
INNER JOIN test2 b on a.test2_id = b.test2_id 
INNER JOIN test3 c on a.test3_id = c.test3_id 
limit 52000,500

test1의 데이터가 6만개
test2의 데이터가 120개
test3의 데이터가 5만개

test2_id, test3_id는 PK이고요 test1에 FK 되있는 상태인데요

mysql에서는 0.1초 정도가 걸리는데 이렇게 쿼리를 하면 1.9초 정도가 걸리는데요.

쿼리 속도가 문제가 돼서 그러는데요 이 쿼리를 좀더 빠르게 할려면 어떻게 해야하는지 좀 알려 주세요.


Articles