Supongamos que tengo una gran tabla con tres columnas: "user_name", "user_property", "value_of_property". Lat también asume que tengo muchos usuarios (digamos 100 000) y muchas propiedades (digamos 10 000). Entonces la mesa va a ser enorme (mil millones de filas).¿Puedo optimizar mi base de datos dividiendo una gran tabla en muchas pequeñas?
Cuando extraigo información de la tabla siempre necesito información sobre un usuario en particular. Entonces, uso, por ejemplo, where user_name='Albert Gates'
. Entonces, cada vez que el servidor mysql necesita analizar mil millones de líneas para encontrar aquellas que contienen "Albert Gates" como nombre_usuario.
¿No sería inteligente dividir la gran mesa en muchas pequeñas que corresponden a usuarios fijos?
lo que está describiendo se llama partición. En las bases de datos usted diseña su estructura rtable alrededor de sus datos. Configura el hardware para administrar este tipo de problema. Creo que la partición (que es la jerga del servidor sql para lo que estás hablando) es una característica que no está en mysql, o no fue hace 7 años cuando cambié al servidor sql, que sé que sí lo admite. –
@John Nicholas: http://dev.mysql.com/doc/refman/5.1/en/partitioning.html –
coool tyvm;) mysql tiene particiones después de todo –