파이썬 sqlite3 속도 향상 방법
조회수 900회
CHEMBle 이라고 세계적으로 유명한 의약 화학 물질 데이터베이스 에서 데이터베이스 파일 자체를 제공해 주는 서비스가 있습니다.
여기서 sqlite3 로 된 전체 화학물질 db 파일 크기가 대충 13기가 쯤 됩니다.
이 DB파일을 대상으로 다음과 같은 코드를 실행해 주고 있습니다.
import sqlite3 as db
db_file = r"R:\chembl_22.db"
conn = db.connect(db_file)
SQL = """
SELECT DISTINCT canonical_smiles
FROM compound_structures
WHERE
적절한 조건들
Order by length( canonical_smiles)
;
"""
%time pandas_smiles = pd.read_sql_query(SQL, conn) # Wall time: 42.2 s
ps = pandas_smiles.copy() # deep copy
전혀 특별할 거 없는, 일반적인 쿼리 파트인데, 너무 오래 걸립니다.
고민중입니다. 뭘 어떻게 하면 더 이 부분을 빠르게 넘길 수 있을까요?
일단 이미 db파일 자체를 램디스크(r:가 램디스크임) 에 올려놓고 실행해도 딱히 더 빨라지지는 않았습니다.
댓글 입력