좋은 오래된 MainFrame에서 실행되는 오래된 DB2 데이터베이스를 쿼리하는 코드를 작성하고 있습니다. 쿼리는 StarSQL에 작성되어야합니다.이 목표는 Command.Text를 통해 전달되는 현재 쿼리의 MIP 사용을 크게 줄이는 것입니다.StarSQL을 통한 DB2 액세스 - 효율성. 출력 매개 변수 또는 선택 쿼리
모르는 사람들에게 메인 프레임의 CPU 사용량 (MIP)에 따라 요금이 부과되므로 최대한 효과적으로 효율적으로 실행하고 싶습니다. "Select * From TableA"라고 말하고 그것을 CommandType.Text로 데이터베이스에 전달하고 싶지는 않습니다. 왜냐하면이 명령문을 컴파일 한 다음 결과를 반환해야하기 때문입니다. 프로 시저 (이미 컴파일 된)로 저장하고 원하는 정확한 열을 * 표시해야합니다.
내 질문에. 우리 MainFrame 전문가가 방학 중이기 때문에 나는 스스로에게 대답 할 수 없다 ...
~ 30 개의 열을 반환하는 절차가 있습니다. Select 쿼리를 통해이를 반환하거나 출력 매개 변수로 반환하는 것이 더 효율적입니까? 이것은 저장 프로 시저를 통한 것입니다.
나는 C# 코드의 길이는 걱정하지 않지만, 그 엄청난 메인 프레임에서의 효율성은 걱정 스럽다.
내가 좋아하는 계정 일에 걸릴해야합니다
SELECT PHNS.CLNT_INTERNL_KY as CLNT_INTRNL_KY
그 열이 열 이름을 적용 할 여분의 CPU 사용량을 사용하지만 커서를 사용하여 출력 매개 변수로 그 내용을 저장하는 것이 더 효율적 것입니까?
다른 정보가 필요하면 알려주십시오.
건배,
(이 내가없는 1500 점이야 아아 태그에 STARSQL 태그,하지만 "수하는"...)
ADO.NET을 사용하여 DB2에 액세스하고 있습니까? –
System.Data.Common 네임 스페이스를 사용하고 있습니다. 여기에는 .NET Framework 데이터 공급자가 공유하는 클래스가 들어 있습니다. 그래. –
필자는 이전에이 가격 책정에 대해 들어 본 적이 없었습니다. 필자의 업무가 장기간에 걸친 여러 개의 프로세스 (여러 시간에 임시 작업까지도 처리했습니다)에도 불구하고. 이것은 마이크로 최적화 유형의 디테일처럼 들리지만 성능에 대한 특정 사항을 인식하고 있지만 더 이상은 알 수 없습니다. 또한 DB2는 (또한 모든 RDBMS가) 모든 명령문 실행을 위해 최적화 프로그램의 적어도 일부를 실행하기 때문에 ** 비용이 ** ** 일정하지 않을 것이며, 귀하가 완전히 최적화 된 시점을 제어 할 수 없을 수도 있습니다. 쿼리 ... 좋은 SQL을 작성하는 것이 가장 좋을 것입니다. 너무 최적화 된 것이 사람들을 혼란스럽게 할 수 있습니다. –