2012-12-14 2 views
2

데이터베이스에 table<N>과 같은 이름의 테이블 집합이 있습니다. 여기서 N은 음수가 아닌 정수입니다. 나는 사전 식 순서에서 '가장 큰'이름을 가진 테이블을 찾아야한다. 그것이 가장 큰 이름은 N입니다. SHOW TABLES 모든 테이블을 나열하고 전체 목록을 클라이언트로 가져 와서 스캔하는 것보다 더 효율적으로 수행 할 수있는 방법을 찾지 못했습니다. 어떤 제안?이름에 특정 패턴이있는 테이블을 찾는 방법

답변

1

이것을 달성하기 위해 INFORMATION_SCHEMA.TABLES을 사용할 수 있습니까? 같은

뭔가 :

SELECT * 
FROM INFORMATION_SCHEMA.TABLES 
ORDER BY table_name DESC 
LIMIT 1 

당신은 물론이 너무에 WHERE 절을 추가 할 수 있습니다

SELECT * FROM INFORMATION_SCHEMA.TABLES 
WHERE table_name LIKE ('numberedTable%') 
ORDER BY table_name DESC 
LIMIT 1 

을 적용합니다.

관련 문제