2012-08-10 2 views
-1

내 레일 앱은 약 12 ​​개의 테이블로 구성된 정규화 된 데이터베이스에서 수십만 건의 들어오는 레코드에 대해 ETL을 실행하여 웹에서 많은 데이터를 수집합니다. 내 sqlite 데이터베이스의 성능을 향상시키는 가장 신뢰할 수있는 방법은 무엇입니까?레일 SQLite 성능 최적화

나는 검색하는 모든 필드에 인덱스를 설정하고 기본 루프를 단일 트랜잭션으로 래핑했습니다.

SQLite의 속도를 높이는 데이터베이스 설정과 같은 다른 표준적인 관행이 있습니까?

+0

프로필을보고 문제가 실제로 어디 있는지 확인하십시오. –

답변

0

다른 답변에 동의하지 않으면 mysql 또는 postgres로 전환해야합니다. 이유는 코드가 충분히 빠르게 실행되지 않는 이유입니다. People tend to agree SQLite can handle large amounts of data in a performance oriented system. 자주하는 몇 가지 시나리오의 코드를 게시하고 더 나은 방법을 생각할 수 있는지 확인하도록 제안합니다. SQLite와 mysql에서 동일한 결함이있는 접근법을 사용한다면 훨씬 더 나은 결과를 얻을 수 있을지 의심 스럽다.

SQLite는 매우 빠릅니다. MySQL이나 PostGres와 같은 다른 DB 시스템보다 속도가 느린 경우 SQLite를 최대한 활용할 수 없습니다. 속도 최적화는 D. SQLite의 작성자이자 관리자 인 Richard Hipp의 두 번째 우선 순위 인 것으로 보입니다. 첫 번째는 데이터 무결성과 관대함입니다. 당신은 또한 대량 거래 데이터를 삽입

에게 있습니다 here

을 할 수있는 최적화 일부 대해 자세히 알아? 그리고 가져 오기를 시도 할 때 데이터를 가져와야합니다. 야간이나 활동이 적은 기간에 색인을 다시 작성하는 것을 고려해보십시오.

1

많은 양의 데이터가있는 경우 SQLite는 좋지 않습니다. 옵션이있는 경우 mysql 또는 postgres로 전환하십시오. 둘 다 설치가 쉽고 더 잘 수행해야합니다.