같은 열 수 (예 : Id, 이름, 타임 스탬프)가있는 10 개의 테이블이 mysql에 있습니다. 각 테이블에는 약 1 백만 개의 레코드가 들어 있습니다. 모든 테이블의 통합 된 데이터를 한 곳으로 보여줘야합니다. 페이지가 매겨진 데이터를 타임 스탬프별로 정렬하는 가장 좋은 방법은 무엇입니까? 예를 들어, 페이지 번호 4와 페이지 크기 25를 표시해야한다면, 단일 테이블에있는 것처럼 타임 스탬프별로 정렬 된 76 번째에서 100 번째 레코드를 얻어야합니다. 내가 (4 페이지)로 작성한MySql, Pagination
:이 (100 개까지) 작은 페이지 크기에 잘 작동하지만> (20)에 대한 매우 느립니다
select * from (
(
Select * from TABLE1 limit 0,100
)
UNION (
Select * from TABLE2 limit 0,100
)
UNION (
Select * from TABLE3 limit 0,100
)
UNION (
Select * from TABLE4 limit 0,100
)
) t
limit 75,25
. 어떻게 개선 될 수 있습니까? 그렇게 할 또 다른 방법이 있습니까?
미리 감사드립니다.
ElasticSearch 사용 : -} – Ashalynd
제 생각에는 10 페이지 이상의 페이지 매김을 최적화하는 데 시간을 낭비하지 말고 사용자 친화적 인 필터링을 목표로 삼 으십시오. 100 개 항목/줄로 10 페이지를 넘는 사용자 한 명을 보여주십시오. – Filburt