Pregunta

Estoy trabajando en el proyecto con una tabla de bases de datos relativamente grande ( 700K filas ).

Error, he cometido al diseñar el esquema DB. Cuando las filas aumentaban, tuve que aumentar el tipo de columna de ID bigint ( x ).

Ahora es bigint (44). Tengo miedo de establecer un alto valor de x porque pensé que puede ralentizar significativamente el rendimiento. Quizás estoy equivocado ...

Por favor, ayúdame a resolver el problema.

¿Qué tipo de columna puedo configurar una vez y olvidarme de este problema?

¿Qué debería aprender mejor en el campo del diseño de esquemas DB?

¿Fue útil?

Solución

Cuando crea una columna como BIGINT (44) el " 44 " es el ancho de la pantalla: no afecta el rango de valores que puede almacenar ni la velocidad a la que se recuperan.

Para un ID de incremento automático, desea utilizar un número UNSIGNED , por ejemplo. BIGINT (44) SIN FIRMAR . Esto duplicará el rango de valores y agregará una restricción adicional, lo que generalmente es bueno.

Un INT sin firmar almacenará hasta 4,294,967,295 Un BIGINT sin firmar almacenará hasta 18,446,744,073,709,551,615; no lo va a llenar en el corto plazo.

Usted no dice qué tan rápido está creciendo su ID máxima: si no está insertando muchas filas, entonces debería seguir con INT UNSIGNED ya que ocupa menos espacio.

Otros consejos

Creo que cualquier clave principal no estará firmada por defecto. En cualquier caso, el uso de números negativos para las claves primarias está mal visto en el mejor de los casos, y rompe cosas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top