2010-11-22 2 views
1

Mysql을 백 엔드로 사용하여 웹 응용 프로그램을 설계하고 있으며 외래 키 관계를 유지 관리하기 위해 INNodb 테이블을 사용하고 있습니다.전체 텍스트 MySql 테이블 검색 (Innodb vs ISAM)

이제 검색을 수행해야하는 키워드가 포함 된 열 태그가있는이 테이블 비디오가 있습니다. 이제이 테이블은 Innodb이므로 Mysql의 전체 텍스트 검색 기능을 사용할 수 없습니다.

비디오 테이블을 MyIsam으로 변경하고 모든 외래 키 제약 조건을 제거하는 대신 태그 열과 video_id (비디오 테이블의 기본 키)가 포함될 MyIsam 유형의 video_tags라는 다른 테이블을 만들려고했습니다. .

내 데이터베이스에서 모든 테이블은 video_tags 테이블을 제외하고 Innodb가됩니다. 이것을 처리하는 것이 올바른 방법입니까? 귀하의 조언에 감사드립니다.

답변

1

유일한 문제는 MyISAM 테이블이 트랜잭션을 지원하지 않는다는 것입니다. 따라서 트랜잭션을 시작하고 InnoDB와 MyISAM 테이블에 데이터를 작성한 다음 롤백하면 INNODB의 변경 사항은 롤백되지만 MyISAM의 변경 사항은 롤백되지 않습니다.

또한 Sphinx과 같은 것을 사용하여 검색 할 수 있습니다.

+0

스핑크스 알림을 보내 주셔서 감사합니다. – Gublooo

0

나는 그것을 그렇게하는 것이 좋습니다라고 생각합니다. 앞으로 문제가 발생하는 것을 보지 못합니다.

+0

의견을 보내 주셔서 감사합니다. – Gublooo