1 명확한 쿼리의 필드 이름
2 rs (이름)보다 빨리 Rs (0) 사용
3 레코드 세트 rs 값을 사용하기 전에 변수에 할당하십시오.
4 [테스트] 현재 10W 데이터, 액세스 데이터베이스 보존
정상 추출 |. 저장 절차를 통해 추출하십시오 |
1 명확한 쿼리의 필드 이름
[data_table]에서 * 선택
즉, 데이터베이스 데이터 _table 종의 모든 필드의 기록 값
Select * 문의 실행 효율은 매우 낮습니다. 이러한 문을 수행 할 때는 두 개의 쿼리가 수행되므로 시스템 테이블을 확인하여 이름과 데이터 유형을 확인하십시오
그러므로
[data_table]에서 이름, pwd를 선택하십시오.
2 rs (이름)보다 빨리 Rs (0) 사용
예를 들어 필드 이름 또는 필드 인덱스 노드를 기록하십시오
Rs (0) Rs (이름)에 해당하는 Rs (0)
Rs (1) Rs (PWD)에 해당합니다.
인덱스 번호 액세스 레코드를 필드 이름보다 여러 번 더 빠르게 사용하는 것으로 입증되었으며 문자열에 따라 쿼리하여 정수 쿼리 쿼리보다 더 많은 시간과 시스템 리소스를 쿼리합니다.
3 레코드 세트 rs 값을 사용하기 전에 변수에 할당하십시오.
<%
set rs = const.execute ([data_table]에서 cname, cpwd select id = 1)
그렇지 않다면 그렇다면
rs.eof가 아니라
cname = rs (0) 변수에 rs를 할당합니다
cpwd = rs (1)
.... ....
rs.movenext
고리
끝 If
%>
4 [테스트] 10W 데이터가 있으며 액세스 데이터베이스가 저장됩니다.
A. 정상 추출을 통해 :
<%
set rs = server.createobject (adodb.oldset)
Rs.OOPEN 선택 *에서 ID DESC, CN, 1,1의 주문
rs.eof가 아니라
응답. rs (id) & |
rs.movenext
고리
%>
3,250.000 밀리 초 3 초를 섭취하십시오
B. 저장 절차를 통한 추출 :
<%
cn = server.createobject (adodb.connection) set
cn.oopen 드라이버 = {Microsoft Access Driver (*.mdb)};
cmd = server.createobject (adodb.command) set
cmd.activeconnection = cn
cmd.commandtext = selep *에서 id desc로 주문
RS = CMD.Execute를 설정하십시오
rs.eof가 아니라
응답. rs (id) & |
rs.movenext
고리
%>
2,187.500 밀리 초 2 초를 섭취하십시오
C. getRows () 메소드를 사용하여 추출합니다.
<%
cn = server.createobject (adodb.connection) set
cmd = server.createobject (adodb.command) set
cn.oopen 드라이버 = {Microsoft Access Driver (*.mdb)};
cmd.activeconnection = cn
cmd.commandtext = selep *에서 id desc로 주문
RS = CMD.Execute를 설정하십시오
rsarray = rs
i = 0에서 ubound (rsarray, 2) ubound (배열, num)의 경우, num 의미 지수가 치수로 사용되는 경우, 기본적으로 1 차원으로 채워지지 않으며 2는 2 차원 2 차원입니다.
응답. rsarray (0, i) & |
다음
%>
시간 소비 : 187.500 밀리 초 0.2 초
rsarray (a, b)
A는 레코드 세트의 배열의 배열에있는 레코드의 필드 번호 B를 나타냅니다 .
다음과 같이 : 아래 :
| ID | 이름을 밝힙니다 | UPWD |
| rsarray (0,0) | rsarray (1,0) | rsarray (2,0) |
| rsarray (0,1) | rsarray (1,1) | rsarray (2,1) |
| rsarray (0,2) | rsarray (1,2) | rsarray (2,2) |