2011-08-04 4 views
0

하루에 한 번 업데이트되는 데이터베이스 및 CSV 파일이 있습니다. 나는 마지막 삽입의 레코드와 별도의 로그 파일을 생성하여이 파일에서 내 table1을 업데이트 할 수있었습니다. 아니요, 테이블 1에서 계산을 계속하는 새 테이블 table2를 만들어야합니다.다른 테이블의 일일 데이터를 사용하는 테이블 업데이트 Postgres/Python

내 문제는 이러한 계산이 table1의 이전 행 10, 20 및 90을 기준으로한다는 것입니다.

질문은 - 효율적으로 table1의 데이터에서 table2를 효과적으로 매일 업데이트 할 수 있습니까? 나는 테이블을 시작할 때부터 매일 계산을 다시하고 싶지 않습니다. 왜냐하면 시간이 많이 걸릴 테니까요.

도움 주셔서 감사합니다.

+0

질문을 명확히 해 주시겠습니까? 'table1'의 데이터 또는 'table1'에서 계산하고 CSV 파일에 넣은 데이터로 'table2'를 업데이트 하시겠습니까? – artdanil

+0

파이썬에서 계산을하고 있습니까? 아니면 SQL로 구현하고 PostgreSQL으로 실행할 수 있습니까? 최근에 추가 된 행으로 결과 집합을 제한하기 위해 WHERE를 사용할 수없는 이유는 알 수 없습니다. 이 작업에 대한 더 명확한 설명은 artdanil이 이미 지적했듯이 유용 할 것입니다. – fviktor

+0

좋아요, CSV에서 매일 table1로 데이터를 업데이트하고 있습니다. table1에서이 데이터를 얻고 계산을 수행 한 다음 table2를 업데이트합니다. table1은 회사, 회계 정보, 최근 시장 가격으로 구성됩니다. table2에는 회사별로 통계 데이터가 있어야합니다. 죄송합니다. 저는 SQL 초보자이며 지난 20-30 행에 대해 회사 당 계산을 분리하는 방법을 알지 못합니다. – Timka

답변

0

대답은 "가능한 한 기대할 수있는 것"입니다.

테이블, 데이터 및 쿼리와 컴퓨터의 통계를 보지 않으면 너무 구체적이지 않습니다. 그러나 일반적으로 업데이트는 기본적으로 세 단계를 수행합니다. 이것은 약간의 단순화이지만 성능을 예측할 수 있습니다.

먼저 필요한 데이터를 선택합니다. 그런 다음 h 제된 행을 h 제된 것으로 표시 한 다음 새 데이터가있는 u 행을 테이블에 삽입합니다. 일반적으로 한도는 일반적으로 데이터 선택입니다. 원하는 데이터를 얻기 위해 SELECT 쿼리를 효율적으로 실행할 수 있다면 업데이트가 비교적 잘 수행되어야합니다.

관련 문제