mysql select 문을 실행할 때 매우 많은 행을 이미 삭제했기 때문에 매우 오래 걸립니다.아래쪽에서 mysql 테이블을 검색하십시오.
맨 위와 반대로 아래에서부터 스캔을 시작할 수있는 방법이 있습니까?
mysql select 문을 실행할 때 매우 많은 행을 이미 삭제했기 때문에 매우 오래 걸립니다.아래쪽에서 mysql 테이블을 검색하십시오.
맨 위와 반대로 아래에서부터 스캔을 시작할 수있는 방법이 있습니까?
쿼리는 특정 순서로 테이블을 검색하지 않습니다. ORDER BY를 사용했기 때문에 순서에 따라 특정 인덱스 (예 : 범위 스캔)를 통과하는 경우 그렇게 할 수 있습니다.
데이터베이스는 그렇게 작동하지 않습니다. 그런 식으로 자신의 행동에 의존 할 수는 없습니다.
전체 테이블 스캔을 수행하는 경우, 특히 많은 행을 최근에 삭제 한 경우에는 시간이 걸릴 것으로 예상하십시오. 그러나 많은 행이 있으면 더 오래 걸립니다.
대신 쿼리가 인덱스를 사용하는지 확인하십시오. Explain 계획을보고 인덱스를 사용하는지 확인하십시오.
테이블에 대한 추가 색인이 필요할 수 있습니다. 또한 때때로 OPTIMIZE TABLE 및 ANALYZE TABLE을 발행하는 것이 좋습니다. 적절한 색인이 있으면 삭제 된 행, 대량의 행조차도 쿼리 성능에 영향을 미치지 않아야합니다.