2013-03-02 4 views
1

MySQL에서 스택을 구현하는 추상적 인 아이디어가있었습니다. 많은 Google 작업을 시도했지만 어떤 논리적 인 결론에도 도달 할 수 없었습니다.MySQL에서 스택 구현

스택은 스택 상단이 특정 테이블을 가리키는 테이블 모음이어야합니다. DB에는 이러한 스택이 여러 개있을 수 있습니다. 예를 들어 테이블의 필드가 가득차면 스택 길이가 늘어날 수 있습니다. 마찬가지로 스택 길이가 반대 방향으로 감소 할 수 있습니다!

구현 아이디어를 제공해 주시겠습니까? 처음부터 정말 가능합니까? 희망은 내 질문에 분명 해요.

+0

어떤 종류의 개체를 저장 하시겠습니까? –

+0

스택을 "특정 테이블을 가리키고"있는 이유는 무엇입니까? 스택을 지원하는 데이터베이스의 데이터 구조는 스택 요소 당 하나의 행을가집니다. –

+2

RDMS의 개념에 대해 읽어 보겠습니다. 당신은 아이디어를 추상적으로 유지해야합니다. –

답변

1

제 아이디어.

일련 번호가 지정된 개체를 저장하는 자동 증가 ID 및 BLOB 열이있는 단일 테이블입니다.

푸시 온 스택은 새로운 가장 높은 ID로 삽입됩니다.

스택의 팝은 가장 높은 ID로 행을 가져와 삭제합니다.

물론 간단한 접근 방법입니다. 스택 밀어 넣기의 원점을 존중해야만 허용 된 스택 객체 만 얻을 수 있습니다. 하지만 그것은 유스 케이스에 달려있다.

+0

나는 비슷한 대답을 썼다. 대부분의 스택 사용은 프로그램 실행 사이에 지속될 필요가 없으며 프로그램 인스턴스간에 공유 할 필요가 없으므로 스택을 구현하기에 더 좋은 장소가됩니다. –

+1

threadId 필드도 추가 할 수 있으므로 여러 스레드가 동일한 테이블을 사용할 수 있습니다. parentId 필드는 속도 향상에 도움이 될 수 있습니다. –

+0

맞습니다. 그러나 그것은 다른 질문입니다. – HerrSerker