El algoritmo de paginación es un tema que preocupa mucho a los desarrolladores web. Casi todas las aplicaciones relacionadas con bases de datos involucran el algoritmo de paginación. Muchas personas han escrito documentos en esta área y parece que no hay nada que discutir, pero de hecho, cambiemos. Al cambiar la representación de los datos, se puede utilizar un mejor algoritmo de paginación. Veamos si podemos hacerlo mejor ahora.
Primero hablemos de algunos métodos existentes.
Uno es paginar a través de DataGrid. Este método es el más simple, pero no es eficiente y requiere leer todos los datos delante de los datos requeridos.
El segundo es completar el método de paginación de DataSet especificando el registro inicial y el número de registro DbDataAdapter.Fill. Este método también es simple, pero tampoco es eficiente y requiere leer todos los datos delante de los datos requeridos.
El tercero es seleccionar los registros requeridos desde el medio de la tabla mediante selección múltiple superior y clasificación múltiple para evitar que los datos en las páginas adyacentes se repitan, es necesario usar no en, lo que provocará que los datos finales de La tabla con una gran cantidad de datos para seleccionar el rendimiento de la base de datos se reducirá considerablemente.
Supongamos que cambiamos la forma de presentación de la tabla, tomando como ejemplo la presentación en cuadrícula con barras de desplazamiento en la aplicación C/S tradicional. De hecho, este método es el método de presentación más adecuado para tablas de bases de datos y el método de presentación más utilizado en; Aplicaciones web El método de conexión del número de página de 1,2,3... o el método de la barra de navegación del número de página de los botones de la página anterior y de la página siguiente son el último recurso, porque no se puede utilizar tecnología simple para implementar barras de desplazamiento en aplicaciones web. Red.
Todas las tablas de la base de datos tienen claves primarias para distinguir diferentes registros en las tablas; los datos en la cuadrícula en la interfaz de usuario también tienen claves primarias; de lo contrario, los datos serán ambiguos. Sin embargo, en la mayoría de las aplicaciones, no hay ninguna configuración. Es imposible conocer la clave principal de los datos leídos; incluso si algunas aplicaciones la han configurado, conocen la clave principal de los datos leídos, pero de hecho no la aplican a la paginación, siempre que usted lo sepa; la clave principal de los datos leídos, puede realizar la paginación muy fácilmente.
El algoritmo de la página de inicio es muy simple.
seleccione el tamaño de la página superior * del nombre de la tabla ordenar por clave principal
Para las tablas con barras de desplazamiento, los datos se desplazan secuencialmente página por página Incluso si arrastra la barra de desplazamiento, puede desplazarse página por página hasta la posición seleccionada. El algoritmo para páginas nuevas es
seleccione el tamaño de la página superior * del nombre de la tabla donde la clave principal > la clave principal registrada al final de la página anterior ordene por clave principal
Si se utiliza el almacenamiento en caché, todos los datos solo deben descargarse una vez y los datos nuevos se descargarán solo cuando se desplace a el fin.
Este algoritmo requiere conocer la clave principal de los datos en Grid y aplicar los datos de la clave principal a la paginación. Para múltiples claves primarias y tablas ordenadas, el algoritmo es el mismo, pero las declaraciones son más complicadas. No solo puede comenzar desde la página de inicio, sino que también puede comenzar desde la última página y desplazarse hacia adelante.
No hay problema con el rendimiento de este algoritmo. No importa cuán grande sea la tabla, el registro en el que se selecciona la posición es el mismo. Es más adecuado utilizar el método de selección de paginación de la página de inicio, la página anterior, la página siguiente y la página siguiente. última página y es más adecuado para barras de desplazamiento. Grid no es adecuado para la paginación de números de página específicos.
Para obtener una cuadrícula con barras de desplazamiento que utilicen este algoritmo, consulte nuestra demostración www.BizStruct.cn .
Al plantear preguntas, considere primero dos puntos; de lo contrario, es posible que no se dé cuenta de las ventajas de combinar este algoritmo con nuestro sistema:
Primero: ¿Cuál es más conveniente, el formulario de solicitud C/S tradicional o el formulario de paginación en la Web?
Primero, qué diferente es la tabla con barras de desplazamiento que implementamos de la tabla en aplicaciones C/S tradicionales.
Explicación de la respuesta:
Algunas respuestas indicaron que no se pueden implementar operaciones como "saltar a la página xx".
Pero pensemos en ello, en un entorno de aplicación C/S, si alguien usa este método de salto de página, definitivamente todos lo encontrarán extraño.
El Grid con barras de desplazamiento que implementamos es casi tan rápido como la aplicación C/S anterior en un entorno LAN, y también es muy rápido en un entorno WAN.
La "operación de salto a la página XX" de las aplicaciones web es en realidad el último recurso. Si se puede implementar el Grid de las aplicaciones C/S tradicionales, ¿por qué deberíamos utilizarlo?