sql >> Base de Datos >  >> RDS >> Mysql

Mejores prácticas con datos históricos en base de datos MySQL

Es un error común preocuparse por las tablas "grandes" y el rendimiento. Si puede usar índices para acceder a sus datos, realmente no importa si tiene 1000 de 1000000 registros, al menos no tanto como podría medir. El diseño que mencionas es de uso común; es un gran diseño donde el tiempo es una parte clave de la lógica empresarial.

Por ejemplo, si desea saber cuál era el precio de un artículo en el momento en que el cliente realizó el pedido, poder buscar registros de productos donde válido_desde fecha_pedido es, con diferencia, la solución más sencilla.

Este no siempre es el caso:si mantiene los datos solo para fines de archivo, puede tener más sentido crear tablas de archivo. Sin embargo, debe asegurarse de que el tiempo es realmente no es parte de la lógica comercial; de lo contrario, el dolor de buscar en varias tablas será significativo:imagine tener que buscar en la tabla de productos O en la tabla product_archive cada vez que desee conocer el precio de un producto en el momento en que se realizó el pedido. .