El siguiente es el fragmento de código: '********************************************************** ************************************************************ ************************************************************ ************************************************************ ************************************************************ ****************, ************************ '** ESTE NOMBRE DE ESTE PROGRAMA: Programa de paginación "Infinite Stream" '** Autor: Arbiter (AASX) '** Versión: Million Nivel '** '** Qq: 22222xx '** Correo electrónico: [email protected] '** http://www.images.org/ '********************************************************** ************************************************************ ************************************************************ ************************************************************ ************************************************************ ****************, ************************ '** '** [palabras del autor] '** '** El programa de paginación es sin duda algo más problemático entre muchas funciones del programa de red. '** La mayoría de las personas todavía usan el método de paginación tradicional (rs.pagesize = xx) para comprender '** Las operaciones de la base de datos saben que este método tradicional tiene una desventaja: cuando la página se abre por primera vez, '** Leerá todos los conjuntos de registros. '** Las páginas también serán muy lentas, ocupando recursos. Para datos de más de 100,000 o más '** Biblioteca Este método de paginación tradicional se ha vuelto muy débil, y mucho menos un millón de niveles (no puedo joder en absoluto '** hacer). Por esta razón, me he llevado a hacer este programa. '** '** [Función del programa] '** '** Operación de racionalización para grandes bases de datos, el volumen de registro de datos operativos ideales es de 2 millones ‘** (la edición de nivel máximo limitará innumerables cantidades, y no importa cuán grande sea la base de datos, la velocidad de giro de la página es '** Sin cambios), este es el programa de paginación de la versión de Million Level en Saiyang 1G, Memory 512, Win2K Ring '** Datos de prueba en el reino: '** '** Los registros SQLServer 2k 100,000 muestran 20 piezas por página: '** Velocidad de giro promedio de la página: 45ms '** SQLServer 2k 1 millón de registros Muestra 20 piezas por página: '** Velocidad de giro promedio de la página: 350 ms '** '** '** [Principio de mascota] '** '** Este programa ya no usa el método rs.pagesize a las páginas, y el tipo de cursor que conecta la base de datos '** no está usando Conn, 1, x, sino conn, 0,1, que debería ser el tipo de cursor más rápido, no '** Piensa que esto será complicado. '** Debería ser mi estilo de programación. El centro de la paginación de '** "Infinite Stream" es: leer solo los registros que deben mostrarse por página, ya no me gusta la tradición '** El programa Pagling lee todos los datos previos a la lectura, que es la mayor ventaja de este programa-ocupación menos recursos, lo mismo '** La velocidad racional también se ha mejorado enormemente, especialmente cuando la cantidad de datos es mayor, su ventaja de velocidad '** Más obvio (solo unos 350 ms). '** Cuando se ejecuta el programa, el primer registro que se muestra por CurcorBegin y Curcorend '** registro y el valor de identificación del último registro, como la marca de la página siguiente, y luego use Top XX para tomar '** Los datos requeridos lo muestran y luego registra el valor de ID. '** '** [Conclusión] '** '** Este programa es una versión compartida, proporcionada a varios amantes del programa para estudiar y usar, reimprimir, extender, reparar '** Cambiar o utilizar para otros fines, respete el trabajo duro del autor e indique la fuente. '** Si hay desventajas como error y optimización en este programa, vaya al desarrollo web de www.csdn.net/ '** La columna ASP emitió una discusión, para el desarrollo de la industria de software de China, por favor no se mantenga por su cuenta :) '** '********************************************************** ************************************************************ ************************************************************ ************************************************************ ************************************************************ ****************, ************************** Opción explícita 'Respuesta. Flush Dim Begintime, Endtime BegIntime = temporizador Dim Conn, SQLSTR, RS, DeFRECORDNUM, CURSORBEGIN, CURSOREND, CURPAGENUM, HAV, HAV DeFRECORDNUM = 20 '-------------- Obtenga parámetros relevantes -------------------------------- --------------------- Si solicita ("cursorbegin") = "entonces cursorBegin = 0 else cursorBegin = request (" cursorbegin ")) Si solicita ("cursorend") = "The cursorend = 0 else cursorend = request (" cursorend ") Si solicita ("Curpagenum") <> "entonces Curpagenum = clng (request ("curpagenum") Ifurpagenum <= 0 entonces capagenum = 1 Demás Curpagenum = 1 Final si Hav = request ("Hav") If hav = "" entonces hav = "siguiente" '------------------------------------------------- -------------------------------------------------- --------------------------------- '------------ 显示翻页内容函数 -------- Function TURTPAGEFS (DispraCordNum) Atenuado Mientras que no (rs.eof) y n <desprecordnum n = n 1 Response.write "<Ter>" & _ "<td bgcolor = 'efefef'>" & rs (0) & "</td>" & _ "<td bgcolor = 'efefef'>" & rs (1) & "</td>" & _ "<td bgcolor = 'efefef'>" & rs (2) & "</td>" & _ "<td bgcolor = 'efefef'>" & rs (3) & "</td>" & _ "<td bgcolor = 'efefef'>" & rs (4) & "</td>" & _ "<td bgcolor = 'efefef'>" & rs (5) & "</td>" & _ "</tr>" "" Si n = 1 el cursorbegin = rs (0) Si n = DeFRECORDNUM o RS.EOF entonces cursorend = rs (0) Rs.Movenext Encaminarse a Función final '------------------------------------------------- ---------------------------- Establecer conn = server.createObject ("ADODB.Connection") 'SQLSTR = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source =" & Server.Mappath ("Mlodata.mdb")) SQLSTR = "Driver = {SQL Server}; server = arbiter; uid = arbiter; pwd = 123456; database = mldata" "" " Conn.open SQLSTR '--------- Estadísticas Registros totales/Páginas totales ------------------------------- '-Ps: recuento recomendado (ID), ID es un número e índice automático, de lo contrario, la velocidad puede ser descuidado en gran medida '-Ps: Esta estadística es parte de los recursos más consumidos en este programa. Dim Totalrcords, TotalPages Sqlstr = "Seleccione Count (ID) como Recornsum de ABC" Establecer rs = const.execute (SQLSTR, 0,1) TotalRecords = RS ("Recordsum") TotalPages = ABS (int (TotalRecords/DeFRECORDNUM*(-1))) Rs. Establecer RS = nada '-------- Seleccione las cadenas SQL correspondientes basadas en HAV ------ Seleccionar caso (HAV) Caso "Volver" Cursorend = cursorbegin Sqlstr = "Seleccione Top" y Defalecordnum & "_ Id, título, nombre de archivo, k, imgsize, nombres _ De ABC donde id <"y cursorbegin & _ "E ID en (seleccione Top" y DeFRECORDNUM_ E "ID de ABC donde ID <" & Cursorbegin_ & "Ordenar por id) ordenar por identificación" Caso "Siguiente" Sqlstr = "Seleccione Top" y DeFRECORDNUM_ E "Id, título, nombre de archivo, k, imgsize, nombres de ABC donde id>" & cursorend & _ "Orden por identificación" Final seleccionar Establecer rs = const.execute (SQLSTR, 0,1) %>
|