안녕하세요..
두개의 테이블 AA와 BB 의 필드는 똑같습니다.
하지만 두개의 테이블의 레코드는 각각 20만건입니다.
이 두개의 테이블을 하나의 테이블로 합쳐(union all) 한페이지에 15개씩 보여지게 하려고 하는데요..
문제는 쿼리값이 너무 느리다는겁니다.
cpu와 메모리를 엄청 잡아먹고 결과값이 나오기 전에 서버가 뻗어버릴거 같거든요..
데이타가 20만건이라서 union 이 안되는건가요??
아래 쿼리문 전부다 해봐도 속도가 너무느려 그런데 왜 그런지 알려주시면 감사하겠습니다.
1.
select C.n, C.t, C.u, C.k, C.up from ( select A.n A.t, A.u, A.k, A.up from AA AS A union all select B.n, B.t, B.u, B.k, B.up from BB AS B) C order by n desc limit 0,15
2.
select C.n, C.t, C.u, C.k, C.up from ( select A.n A.t, A.u, A.k, A.up from AA AS A union all select B.n, B.t, B.u, B.k, B.up from BB AS B) AS C order by n desc limit 0,15
3.
select * from AA union all select * from BB order by n desc limit 0,15
4.
select * from ( select * from AA union all select * from BB ) AS TB order by n desc limit 0,15;
|