Anuncios

Bienvenidos sean a este post, hoy haremos una breve introduccion sobre este tema.

Anuncios
Anuncios

Cuando hablamos de expresiones de particionamiento en realidad son expresiones SQL que devuelve un valor positivo entero o NULL, tambien es posible usar una columna temporal en la expresion de particionado siempre y cuando un valor entero sea devuelto y este valor no dependa de la zona horaria, es decir que no se pueden usar columnas de tipo TIMESTAMP o YEAR, aunque algunos tipos de particionamiento pueden usar expresiones que devuelvan otras datos de diferentes tipos de datos tales como DATE o CHAR pero eso es algo que hablaremos cuando llegue el momento.

Anuncios
Anuncios

Las expresiones tambien deben devolver un valor no constante determinista, las funciones almacenadas y las funciones definidas por el usuario no son permitidas aunque sean deterministas, el operador de division (/) tampoco esta permitido porque puede devolver un valor de tipo FLOAT inclusive si tanto los operadores como el resultado solo involucre valores de tipo INTEGER o entero, aunque los operadores DIV (division de enteros) y MOD (operador de resto de la division) si son soportados y los operadores de bit no son soportados, estas expresiones deberian operar lo mas rapido posible, lo ideal seria que solo debe incluir una columna y en caso de ser necesario una funcion para obtener el valor entero, en la vida real se necesita mas de una columna y operaciones para poder obtener los resultados, recuerden que la performance de las expresiones afecta a los ingresos, actualizaciones y borrados, las siguientes funciones temporales estan optimizadas para ser utilizadas en expresiones de particionamiento:

  • YEAR()
  • TO_DAYS()
  • TO_SECONDS()
Anuncios

Tambien existen otras funciones, como MONTH(), que no estan optimizadas pero pueden ser buenos candidatos para ser utilizados, para alcanzar una buena performance con el tipo de particionamiento HASH, hablaremos de este en otro post, una sola columna debera ser usada en la expresion.

Anuncios

Lo ideal es que exista una relacion estricta entre la columna y la expresion encargada de devolver los valores porque un cambio en un valor de columna deberia causar un cambio en el valor devuelto que es directamente proporcional, veamos algunos ejemplos de expresiones de particionamiento rapidas:

id
id MOD 8
YEAR(fecha)
ORD(nombre)
Anuncios

En resumen, hoy hemos visto un breve resumen de las expresiones de particionamiento, que es, como se comportan, cual es su forma mas basica, algunas excepciones y como puede no funcionar, en los proximos posts ahondaremos un poco mas sobre estos temas, espero les haya sido de utilidad sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios
pp258

Donación

Es para mantenimento del sitio, gracias!

$1.50

Anuncio publicitario