데이터베이스에 액세스하기위한 함수가 포함 된 Python으로 라이브러리를 만들었습니다. 타사 응용 프로그램이 적절한 API를 제공하지 않기 때문에 작성된 타사 응용 프로그램 데이터베이스 주위의 래퍼 라이브러리입니다. 이제 프로그램 논리가 특정 함수를 몇 천 번 호출 할 함수에 대한 중첩 호출을 사용할 때까지 원래는 함수 호출 기간 동안 각 함수가 데이터베이스 연결을 열도록했습니다. 이것은 성능이 좋지 않았습니다. 이를 프로파일 링하면 오버 헤드가 데이터베이스 연결 설정에 있었으며 함수 호출 당 한 번만 발생했습니다. 따라서 라이브러리 모듈을 가져올 때 데이터베이스 연결이 열리도록 열린 연결을 함수 내에서 모듈 자체로 옮겼습니다. 이것은 나에게 허용 가능한 성능을 주었다.
이제 이것에 관한 두 가지 질문이 있습니다. 먼저, 더 이상 데이터베이스 연결을 명시 적으로 종료하지 않으며이 설정을 사용하여 어떻게 명시 적으로 수행 할 수 있는지 걱정해야합니까? 둘째, 내가 한 일이 모범 관행과 가까운 곳 어디에서나 떨어지고 어떻게 다른 방법으로 접근 할 수 있습니까?
openConn
함수를 제공 하고 사용자가 호출하는 각 함수에 함수를 전달하도록합니다. 이렇게하면with
명령문 등으로 연결 범위를 지정할 수 있습니다.