일반적으로 데이터 레코드는 데이터베이스에서 추출되며 SQL 문은 관련 레코드 세트를 쿼리하고 얻은 다음 디스플레이 레코드 세트에서 관련 필드 및 관련 레코드 행을 선택하는 데 사용됩니다.
그런 다음 표시되는 일련의 열을 추출하는 과정에서 다음 핵심 포인트에주의를 기울이면 데이터 추출의 실행 효율이 크게 증가합니다.
1. 명확하게 추출 된 필드 이름
정상적인 SQL 명령문 추출 레코드는 다음과 같습니다.
[data_table]에서*선택
즉, 데이터 테이블 Data_table에서 모든 필드의 레코드 값을 추출하십시오.
Select* 문의 실행 효율은 매우 낮습니다. 이러한 명령문을 실행할 때 실제로 두 개의 쿼리가 실행되기 때문입니다. select 문을 실행하기 전에 먼저 시스템 테이블을 쿼리하여 이름과 데이터 유형을 결정해야합니다.
따라서 선택* 문을 최대한 적게 사용하고 다음과 같은 명확한 필드 이름을 사용하십시오.
SelectCn_Name, CN_PWDFR에서 [data_table]
2. Rs (Filename)보다 빨리 Rs (0) 사용
setrs = conn.execute ( "selectcn_name, cn_pwdfrom [data_table]")
레코드 세트 rs ()는 필드 이름 (문자 유형) 또는 필드 인덱스 번호 (숫자)를 쓸 수 있으며, 이는 필드 목록의 필드 수를 나타냅니다. 예를 들어:
Rs (0)는 Rs ( "CN_Name")를 의미합니다.
Rs (1)는 Rs ( "CN_PWD")를 의미합니다.
인덱스 번호로 레코드 세트 요소에 액세스하는 것이 필드 이름을 사용하는 것보다 몇 배 빠른 것으로 판명되었습니다. 문자열로 쿼리하는 데 정수의 쿼리보다 시간과 시스템 리소스가 더 필요합니다.
3. 레코드 세트 rs 값을 사용하기 전에 변수에 할당하십시오.
<%
setrs = conn.execute ( "selectcn_name, cn_pwdfrom [data_table] wherecn_id = 1")
ifnotrs.eofthen
dowhilenotrs.eof
cn_name = rs (0) 'rs 값을 변수에 할당합니다
CN_PWD = RS (1)
'... 가변 처리 작업을 사용하십시오
rs.movenext
고리
endif
Rs.Close
setrs = 아무것도
%>
그러나 선택 목록의 필드 표시 순서가 SQL 문 또는 저장 프로 시저에서 변경되면 할당 및 처리에주의를 기울여야합니다.
4. 물론, getrows ()를 사용하는 것은 또 다른 문제입니다