테이블이 있습니다 (오히려 추한 디자인이지만, 어쨌든), 문자열로만 구성되어 있습니다. 최악의 상황은 시간을두고 기록을 추가하는 스크립트가 있다는 것입니다. 레코드는 절대로 삭제되지 않습니다.파일의 마지막 레코드를 얻으십시오
MySQL 저장소는 임의 액세스 파일로 레코드를 저장합니다. 레코드의 최대 길이를 알고 EOF를 찾을 수 있기 때문에 C 언어 등으로 마지막 또는 다른 레코드를 얻을 수 있습니다.
MySQL에서 "SELECT * FROM table
"과 같은 작업을 수행 할 때 모든 레코드를 올바른 순서로 가져옵니다. MySQL은이 파일을 처음부터 끝까지 읽습니다. 나는 마지막 것만 필요하다.
ORDER BY
없이 MySQL 쿼리만을 사용하여 마지막 레코드 (또는 레코드)를 가져 오는 방법이 있습니까?
글쎄, 난 거기에 더 나은 솔루션입니다, 내가 알려 주시기 바랍니다 나의 현재 쿼리가
SELECT
@i:[email protected]+1 AS iterator,
t.*
FROM
table t,
(SELECT @i:=0) i
ORDER BY
iterator DESC
LIMIT 5
, 나는 해결책 here을 발견했습니다 가정!
스키마에 AUTO INCREMENT 열이 있습니까? –
왜 주문하지 않습니까? 주문은 올바른 방법입니다. –
ORDER BY를 사용하고 해당 열에 인덱스를 넣어야합니다. – user1032531