태블릿 탐색속도 오지게 느려서 like으로는 못해먹겠더라


비슷한 케이스 찾아다니다가 본 글이 잇는데..


일단 링크는 http://sqlite.1065341.n5.nabble.com/Tags-keywords-support-td79443.html 임


CREATE TABLE Images 

  ImageId INTEGER PRIMARY KEY, 
  name TEXT COLLATE NOCASE UNIQUE NOT NULL, 
  data BLOB NOT NULL 
); 

CREATE TABLE Tags 

  TagId INTEGER PRIMARY KEY, 
  name TEXT COLLATE NOCASE UNIQUE NOT NULL 
); 

CREATE TABLE ImageTags 

  ImageId INTEGER NOT NULL REFERENCES Images ON DELETE CASCADE, 
  TagId INTEGER NOT NULL REFERENCES Tags ON DELETE CASCADE, 
  PRIMARY KEY (ImageId, TagId), 
  UNIQUE (TagId, ImageID) 
); 


이게 쓴놈이 테이블 짠거고 탐색은 


select * 
  from Images 
 where ImageId in (select ImageId from ImageTags join Tags on (TagId) where name='summer' 
                   intersect 
                   select ImageId from ImageTags join Tags on (TagId) where name='house'); 


이렇게 한다는데 나도 테이블 대충 비스무리하게 짜볼려고 하는데 이거 삽입을 어떤식으로 해야하는건지 감이 안옴



그냥 무식하게 어떤 이미지 A에 태그가 a,b,c 있다 하면


1. 이미지 테이블에 이미지 A 추가

2. 태그 테이블에 a,b,c 각각 추가

3. 이미지 태그 테이블에 

3-1. A 이미지의 아이디 + a의 태그 아이디

3-2. A 이미지의 아이디 + b의 태그 아이디

3-3. A 이미지의 아이디 + c의 태그 아이디

이렇게 추가


이렇게 하는거임?