SQLite3은 버전 업하면 성능은 향상되는가!? (측정)
소개
SQLite의 메인 개발자 Richard Hipp 씨가 이전에 "SQLite는 진화하고 있으며 버전 업을 반복하여 성능도 좋아지고 있습니다."가 낡고 신경이 쓰여 있었으므로, 조금 버젼 마다의 성능을 측정해 보았습니다.
측정 환경
측정은 다음 환경에서 측정했습니다.
CPU: Intel Core i7-8700, OS: CentOS 7.7, 메모리: 4GB, 스토리지: HDD(SATA, 1TB, 7200rpm, 캐시: 64MB)
측정방법
SQLite 3.0에서 3.31까지 얻었으며, 각 SQLite는 다음 절차에 따라 각 트랜잭션, 백만 레코드 (108 바이트) 시간을 측정합니다.
측정은 다음 환경에서 측정했습니다.
CPU: Intel Core i7-8700, OS: CentOS 7.7, 메모리: 4GB, 스토리지: HDD(SATA, 1TB, 7200rpm, 캐시: 64MB)
측정방법
SQLite 3.0에서 3.31까지 얻었으며, 각 SQLite는 다음 절차에 따라 각 트랜잭션, 백만 레코드 (108 바이트) 시간을 측정합니다.
측정 프로그램은 GitHub로 업그레이드됩니다.
htps : // 기주 b. 코 m/카네고온/sqぃ테에ゔぁぅ아치온/bぉb/마s테 r/src/에ゔぁlゔぇr. c
또한 측정 프로그램의 실행 결과는 다음과 같습니다.
$ ./evalver
Version Evaluation, SQLite3 version = 3.0.8
INSERT : 6.668143580 (sec)
SELECT : 0.318649103 (sec)
UPDATE : 6.946012056 (sec)
DELETE : 1.056959430 (sec)
VACUUM : 0.993167611 (sec)
측정 결과
1. INSERT
100만 레코드의 INSERT를 측정하여 결과는 다음과 같습니다. 조금씩 성능이 개선되어 Version 3.16.2에서 최신 버전과 같은 성능이 되었습니다.
2. SELECT COUNT()
INSERT된 100만 레코드의 SELECT COUNT() 를 측정하여 결과는 다음과 같습니다. 버전 3.12.3에서 성능이 크게 향상되었습니다.
3. UPDATE
100만 레코드의 UPDATE를 측정하여 결과는 다음과 같습니다. 조금씩 성능이 개선되어 Version 3.16.2에서 최신 버전과 같은 성능이 되었습니다.
4. DELETE
100만 레코드의 DELETE를 측정하여 결과는 다음과 같습니다. Version 3.3.17에서는 성능이 크게 향상되었으며 Version 3.12.3에서는 성능이 크게 향상되었습니다.
5. VACUUM
100만 레코드의 DELETE 이후 VACUUM을 측정하여 결과는 다음과 같습니다. Version 3.7.17에서는 성능이 크게 향상되었으며 Version 3.12.3에서는 성능이 크게 향상되었습니다.
요약
Hipp씨가 말하고 있는 「버전 업으로 SQLite의 성능이 향상한다」를 같은 환경에서 확인했습니다. 성능만으로 생각하면 SQLite 3.17.0 이상, 안정도 생각하면 3.22.0 이상을 사용하고 싶습니다.
임베디드 시스템이나 사회 인프라 시스템에서 SQLite를 사용하는 경우 오랫동안 버전 업그레이드를하지 않았을 수 있습니다. 또한 CentOS7의 SQLite는 Version 3.7.17이므로 성능을 고려하면 별도로 최신 버전을 구하여 사용하는 것이 좋습니다.
$ sudo yum list available | grep sqlite.i686
sqlite.i686 3.7.17-8.el7_7.1 updates
설명에 오류가 있거나 신경이 쓰이는 경우 편집 요청이나 의견으로 피드백해 주시면 도움이 됩니다.
Reference
이 문제에 관하여(SQLite3은 버전 업하면 성능은 향상되는가!? (측정)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kanegoon/items/64fa0669cdf08167f14e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Hipp씨가 말하고 있는 「버전 업으로 SQLite의 성능이 향상한다」를 같은 환경에서 확인했습니다. 성능만으로 생각하면 SQLite 3.17.0 이상, 안정도 생각하면 3.22.0 이상을 사용하고 싶습니다.
임베디드 시스템이나 사회 인프라 시스템에서 SQLite를 사용하는 경우 오랫동안 버전 업그레이드를하지 않았을 수 있습니다. 또한 CentOS7의 SQLite는 Version 3.7.17이므로 성능을 고려하면 별도로 최신 버전을 구하여 사용하는 것이 좋습니다.
$ sudo yum list available | grep sqlite.i686
sqlite.i686 3.7.17-8.el7_7.1 updates
설명에 오류가 있거나 신경이 쓰이는 경우 편집 요청이나 의견으로 피드백해 주시면 도움이 됩니다.
Reference
이 문제에 관하여(SQLite3은 버전 업하면 성능은 향상되는가!? (측정)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kanegoon/items/64fa0669cdf08167f14e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)