http://kldp.org/node/81635
1. FTS(full-text search)1, 2 모듈
SQLite의 컨셉에 맞게 가볍고 빠른 풀텍스트 인덱스 구현
이 기능을 위해 사전에 많은 기능들이 추가되었습니다. 물론 아래의 기능들은 FTS외에도 유용하게 쓸 수 있습니다
1-1. 첫번째로 Virtual Table(http://www.sqlite.org/cvstrac/wiki?p=VirtualTables)인데요.
이건 뷰도 아니고 테이블도 아니여! masterize view같은 개념 같네요;
관련하여 몇가지 새로운 C API의 변경이 있는것 같은데 잘 못찾겠네요
1-2. 그리고 두번째로 동적 라이브러리 로딩 기능(http://www.sqlite.org/cvstrac/wiki?p=LoadableExtensions)이 추가되었습니다
PostgreSQL의 pl/c와 비슷한 개념인데요. SQL문으로 공유 라이브러리를 로딩하고 그것을 DB상에서 함수로 등록할 수 있게 해줍니다
원래 그 전에도 sqlite3_create_collation 등으로 사용할 수 있었는데 별도의 프로그램을 만들때만 가능했는데 이걸 SQL단으로 내리면서 아무데서나 SQL만으로 라이브러리를 로딩하고 함수로 등록해서 사용하는게 가능해졌습니다
관련된 링크는
http://www.sqlite.org/cvstrac/wiki?p=FullTextIndex
http://www.sqlite.org/cvstrac/wiki?p=FtsTwo
http://www.sqlite.org/cvstrac/wiki?p=FtsTwoNotes
등이 있습니다
2. 새로운 Prepared statement API
sqlite3_prepare_v2 함수가 추가되었습니다.
http://sqlite.org/capi3ref.html#sqlite3_prepare_v2
음.. 이건 전에 발견 못했을수도 있지만; sqlite3_collation_needed 라는 놈도 같이 생겨난것 같습니다.
3. 쿼리 옵티마이저의 향상
* Optimizer does a better job of using indices to satisfy ORDER BY clauses that sort on the integer primary key
* Use an index to satisfy an IS NULL operator in the WHERE clause
* Fix a bug that was causing the optimizer to miss an OR optimization opportunity
* The optimizer has more freedom to reorder tables in the FROM clause even in there are LEFT joins.
4. 성능 향상
* Do not read the last page of an overflow chain when deleting the row - just add that page to the freelist.
* Do not store pages being deleted in the rollback journal.
* Do not read in the (meaningless) content of pages extracted from the freelist.
* Do not flush the page cache (and thus avoiding a cache refill) unless another process changes the underlying database file.
* Truncate rather than delete the rollback journal when committing a transaction in exclusive access mode, or when committing the TEMP database.
이 외에도
1. 최대 64개의 테이블 조인 가능(기존에는 32개만 가능)
2. 안정성 향상
3. 쓰레드/프로세스들의 쓰기 경합시의 안정성 향상
4. 등등등등등등등 -.-
그외의 변경점은
http://sqlite.org/changes.html
요기 보세요~~
SQLite도 점점 등치가 커져가네요.. 그래도 아직 다른놈들보다 많이 작고 빠르니 적절한 용도로 쓰면 좋을 놈입니다 =)
SQLite2.x는 쓰레드 2개만 경합해도 깨지는 상황이 부지기수였는데 3으로 오면서 안정적으로 되더니 점점 버전이 올라 지금은 3.3.17입니다. 기능도 많아지고 점점 쓸만해집니다 ㅎㅎ
그래서 SQLiteDBMS도 개발할게 너무 많아져서 -_-;;
그럼 소식 있으면 또 올리겠습니다
중간부터 그나마도 의역하기 귀찮아서 영어로 붙인점 죄송 =3=3
틀린거 있음 바로 잡아주세요~
1. FTS(full-text search)1, 2 모듈
SQLite의 컨셉에 맞게 가볍고 빠른 풀텍스트 인덱스 구현
이 기능을 위해 사전에 많은 기능들이 추가되었습니다. 물론 아래의 기능들은 FTS외에도 유용하게 쓸 수 있습니다
1-1. 첫번째로 Virtual Table(http://www.sqlite.org/cvstrac/wiki?p=VirtualTables)인데요.
이건 뷰도 아니고 테이블도 아니여! masterize view같은 개념 같네요;
관련하여 몇가지 새로운 C API의 변경이 있는것 같은데 잘 못찾겠네요
1-2. 그리고 두번째로 동적 라이브러리 로딩 기능(http://www.sqlite.org/cvstrac/wiki?p=LoadableExtensions)이 추가되었습니다
PostgreSQL의 pl/c와 비슷한 개념인데요. SQL문으로 공유 라이브러리를 로딩하고 그것을 DB상에서 함수로 등록할 수 있게 해줍니다
원래 그 전에도 sqlite3_create_collation 등으로 사용할 수 있었는데 별도의 프로그램을 만들때만 가능했는데 이걸 SQL단으로 내리면서 아무데서나 SQL만으로 라이브러리를 로딩하고 함수로 등록해서 사용하는게 가능해졌습니다
관련된 링크는
http://www.sqlite.org/cvstrac/wiki?p=FullTextIndex
http://www.sqlite.org/cvstrac/wiki?p=FtsTwo
http://www.sqlite.org/cvstrac/wiki?p=FtsTwoNotes
등이 있습니다
2. 새로운 Prepared statement API
sqlite3_prepare_v2 함수가 추가되었습니다.
http://sqlite.org/capi3ref.html#sqlite3_prepare_v2
음.. 이건 전에 발견 못했을수도 있지만; sqlite3_collation_needed 라는 놈도 같이 생겨난것 같습니다.
3. 쿼리 옵티마이저의 향상
* Optimizer does a better job of using indices to satisfy ORDER BY clauses that sort on the integer primary key
* Use an index to satisfy an IS NULL operator in the WHERE clause
* Fix a bug that was causing the optimizer to miss an OR optimization opportunity
* The optimizer has more freedom to reorder tables in the FROM clause even in there are LEFT joins.
4. 성능 향상
* Do not read the last page of an overflow chain when deleting the row - just add that page to the freelist.
* Do not store pages being deleted in the rollback journal.
* Do not read in the (meaningless) content of pages extracted from the freelist.
* Do not flush the page cache (and thus avoiding a cache refill) unless another process changes the underlying database file.
* Truncate rather than delete the rollback journal when committing a transaction in exclusive access mode, or when committing the TEMP database.
이 외에도
1. 최대 64개의 테이블 조인 가능(기존에는 32개만 가능)
2. 안정성 향상
3. 쓰레드/프로세스들의 쓰기 경합시의 안정성 향상
4. 등등등등등등등 -.-
그외의 변경점은
http://sqlite.org/changes.html
요기 보세요~~
SQLite도 점점 등치가 커져가네요.. 그래도 아직 다른놈들보다 많이 작고 빠르니 적절한 용도로 쓰면 좋을 놈입니다 =)
SQLite2.x는 쓰레드 2개만 경합해도 깨지는 상황이 부지기수였는데 3으로 오면서 안정적으로 되더니 점점 버전이 올라 지금은 3.3.17입니다. 기능도 많아지고 점점 쓸만해집니다 ㅎㅎ
그래서 SQLiteDBMS도 개발할게 너무 많아져서 -_-;;
그럼 소식 있으면 또 올리겠습니다
중간부터 그나마도 의역하기 귀찮아서 영어로 붙인점 죄송 =3=3
틀린거 있음 바로 잡아주세요~
'SQL' 카테고리의 다른 글
sqlite (0) | 2013.09.26 |
---|---|
mysql backup 백업 (0) | 2013.09.26 |
[mysql] 리로드(reload) 하기 mysqladmin -uroot -p reload (0) | 2013.09.26 |
[mysql] 스키마 가져오기 (0) | 2013.09.26 |
[mysql] sum에 활용 (0) | 2013.09.26 |