¿Cuáles son los mejores algoritmos de clasificación para DBMS?

¿Está … preguntando cómo implementar un algoritmo de clasificación en una base de datos o lenguaje compatible con DBMS, o pregunta cómo / qué algoritmos de clasificación se implementan en el DBMS moderno?

Para responder la primera pregunta,

  seleccione columna
 de la mesa
 ordenar por columna ASC 

debería ser lo suficientemente bueno SQL, creo.

La segunda pregunta, la pregunta de diseño que hizo, realmente dependerá del DBMS que esté usando, creo. Sin embargo, apostaría a que la mayoría de los DBMS están construidos en la parte posterior de los árboles B que están optimizados para leer y escribir grandes bloques de datos a la vez (caramba, suena como una base de datos). Tomando esa presunción, tengamos en cuenta la diferencia entre una base de datos y su sistema de gestión de bases de datos. Uno es simplemente el mecanismo que nos permite almacenar datos de manera eficiente y devolverlos a pedido, y el otro es el software que rodea ese mecanismo, incluidas características sofisticadas, interfaces de usuario ingeniosas y cualquier otro lujo que pueda imaginar.

Entonces, digamos que tenemos una implementación de base de datos que avanza y que la diseñamos como un árbol B. ¿Cómo debemos “ordenar” nuestra base de datos? Bueno, la respuesta está en el budín. Los árboles B tienen una característica muy especial. Además de mantener todos los nodos terminales en el mismo nivel de altura en el árbol (reduciendo así las lecturas de disco) también clasificamos localmente todos los datos en cada bloque de nodos para acelerar el acceso secuencial. Para mantener este orden local, básicamente haremos una ordenación por inserción cada vez que insertemos un nuevo punto de datos en la base de datos. Lo moveremos hasta que llegue al nodo de rango derecho del árbol B y luego lo insertaremos en el nodo para que el orden de las teclas en el nodo permanezca ordenado. Para los fines del DBMS de nuestra base de datos, es posible que necesitemos llamar a un procedimiento para actualizar los índices relevantes, pero eso está fuera del alcance de esta pregunta. Mientras todos nuestros bloques de nodos estén ordenados, “ordenar” la base de datos global es tan simple como realizar un seguimiento del orden en que se supone que deben ir los bloques.