어떤 작업을 하는중이였는데, 40만 row가 들어있는 테이블을 MySQL로 지지고 볶고 있었습니다.

필요에 따라서는 테이블간 Join을 하였는데


주변 친한 형님이 왜 그렇게 하냐고 Merge를 하라고 하더군요..

찾아보니..MySQL에서는 동일한 기능이 ON DUPLICATE KEY UPDATE 이거였는데,,


결국에는 제가 하는 어떤 작업을 위해서는 Insert + Select + ON DUPLICATE KEY UPDATE 를 같이 써야 되는구조여서 한참 구글링을 하다가 옆나라 블로그에서 찾았네요 ..




INSERT INTO total (id,count) SELECT id, count 

     FROM (SELECT id, count FROM daily GROUPBYdate) t

ON DUPLICATE KEY UPDATE count = t.count


http://d.hatena.ne.jp/pullphone/20121203/1354502080



저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

만약 지금 Java를 이용해서 sqlite를 사용중이시고 데이터를 insert 중이신데 속도가 느리다

그런데 웹을 검색해보면 트랜잭션 하는데, 전부다 안드로이드 이야기 이다.


그러시다면 제가 포스팅한 주제를 제대로 찾아오셨습니다.

안드로이드에서 sqlite 쪽 보시면 명시적 트랜잭션 ? 이라든지 등등 많은데 자바에서는 이렇게 표현하시면 되실듯 하십니다.(제가 이것때문에 아주 어휴)


Connection sqlite_conn = DriverManager.getConnection("jdbc:sqlite:test.db");


sqlite_conn.setAutoCommit(false);

분기문[이곳에 insert문]

sqlite_conn.setAutoCommit(true);


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
1

+ Recent posts

티스토리 툴바