답변 감사합니다.
참고로 제 mysql 서버 버전은 '3.22.32, for pc-linux-gnu on i586'
입니다.
그리고 저도 정재익님과 같이 아주 간단한 형식의 select 문을 테스트
해 봤었는데 역시 안되더군요.
그러면 정재익님과 같은 새로운 mysql 서버를 깔아야 하나요?
어쨋든 답변 감사드립니다.
> 그렇군요.
> 일단 사용중인 MySQL의 버전이 어떻게 되는지요. 현재 DSN 에 올라와 있는 MySQL 매뉴얼은 개발버전인 3.23.x 버전입니다. 그리고 temporary table 을 만들 경우 type=heap 라는 옵션은 분명히 메모리에 temporary 테이블을 만듭니다.
> 그리고 table creation 명령어에서 select 구문은 절대로 subquery 가 아닙니다. 단지 select 구문에 합당한 row 들로 테이블을 구성하라는 명령에 불과합니다.
> MySQL 은 여전히 subquery 를 지원하지는 않습니다.
>
> 참고로 저가 행해 본 temporary table 생성 테스트입니다.
>
> mysql> create table t type=heap select * from test;
> Query OK, 3 rows affected (0.00 sec)
> Records: 3 Duplicates: 0 Warnings: 0
>
> mysql> select * from t;
> +------+
> | t |
> +------+
> | 0 |
> | 1 |
> | 2 |
> +------+
> 3 rows in set (0.00 sec)
>
> mysql>
>
> 잘들어가고 잘 생성이 됩니다.
> 현재 저가 사용중이 MySQL의 버전은 mysqld Ver 3.23.12c-alpha for pc-linux-gnu on i686 로서 개발자 버전입니다.
>
> > 테이블 만들 때, TYPE을 HEAP으로 하면 메모리에만 상주하는
> > 가상 테이블이 만들어진다고 메뉴얼에 나와 있더군요.
> >
> > 그리고 메뉴얼에 보니
> > CREATE TABLE TEST (a int not null auto_increment primary key(a), key(b)) type=heap select b, c f
> > rom test2;
> >
> > 이런 형식으로 쿼리를 주면 새로운 가상 테이블이 만들어 진다고
> > 되어 있더라구요.
> >
> > 그런데 제가 mysql 처음 시작할 때 mysql 에서는 서브 select를
> > 지원하지 않는다고 들었거든요.
> >
> > 그리고 제 서버에서 위의 쿼리로 돌리면 'select...' 부분에 syntax
> > 에러가 있다고 나오네요.
> >
> > 어떤 것이 틀린 것인지...
> >
> > 참고 현재 이 게시판도 가상 테이블을 못 만들어서 검색시 페이지
> > 별로 화면에 처리 못한 것 아닌지...?
> >
> > 제가 현재 게시판 검색하거든요....
|