2014-07-24 2 views
0

pyodbc를 사용하여 MSSQL 데이터베이스에서 정보를 가져 오는 python 웹 페이지가 있습니다.MSSQL 데이터베이스의 비동기 정보

그러나 실행되는 일부 쿼리는 상당히 무거 우므로 작동합니다. 웹 페이지를로드하는 데 20-30 초가 걸릴 수 있습니다.

문제를 해결하고 싶습니다. 모든 쿼리를 15-30 분에 한 번 실행하고 해당 데이터를 서버 또는 로컬에 로컬로 저장하고 페이지의 쿼리를 다시 실행하는 대신 해당 데이터를 웹 페이지로 가져 오는 가장 좋은 방법은 무엇입니까? 하중.

웹 페이지에 액세스 할 때 데이터에 액세스하는 비교적 빠른 방법을 사용하여 웹 페이지에 액세스하는 데 1-2 초의 시간이 걸립니다.

redis는 매우 빠르지 만 너무 간단하므로 실제로는 적합하지 않습니다. 키 - 값 쌍 필자가 가장 필요로하는 가장 진보 된 것은 몇 개의 행과 열 (항상 10 개 미만)이있는 테이블입니다.

이러한 데이터를 로컬에 저장하는 비교적 빠른 방법이 있습니까?

답변

1

큰 보고서를 만들 때이 문제가 발생했습니다. 15 년 동안의 판매 데이터로 돌아갈지라도 30 초간의 쿼리를 기다릴 사람은 없습니다.

  1. 쿼리를 실행하고 테이블에 저장하는 저장 프로 시저를 실행하는 SQL Server 에이전트에서 SQL 작업을 만듭니다

    당신은 몇 가지 옵션이 있습니다. (내가하는 일)
  2. 예약 된 작업을 사용하여 쿼리를 실행하고 다른 테이블에 저장하십시오. 나는 파이썬이 윈도우 박스에서 그것을 구동 할 수 있다고 생각하지만 결코 그것을 사용하지는 않았다. 나는 .NET에서 그것을 할 것이다.
  3. 가끔씩 뷰를 만드는 것은 성능 향상만큼이나 데이터와 데이터베이스 설정에 달려 있습니다. 또한 색인이나 다른 일반적인 성능 향상이 있는지 확인하십시오.

# 1은 우아하고 단순하며 데이터베이스의 모든 작업을 유지한다고 생각합니다.