Ver Post

MyISAM vs InnoDB: ventajas y desventajas

En Bases de Datos, MySQL por trellat0 Comentarios

En algunas bases de datos, la primera decisión que hay que tomar es decidir si el motor de la base de datos va a ser MyISAM o InnoDB. Este es el caso, por ejemplo, de MySQL. A partir de la versión 5.5 de MySQL, el motor por defecto es InnoDB, pero también puede usarse MyISAM, así que es interesante saber …

Ver Post

Sinónimos Huérfanos en Oracle

En Bases de Datos, Oracle por trellat0 Comentarios

Los objetos tipo sinónimo (tanto públicos como privados) en la base de datos son alias a otros objetos de base de datos. Estos objetos a los cuales se hace referencia en Oracle, tienen la peculiaridad de que pueden existir en la Base de datos o no. Otro caso que se puede dar es que también es posible crear un sinónimo …

Ver Post

Optimizar is null en Oracle

En Bases de Datos, Oracle por trellat0 Comentarios

Viendo el explain plan o plan de ejecución de una consulta en Oracle, podemos llegar a ver el caso en el cual se está haciendo un recorrido FULL a una tabla, la cual se está filtrando en la consulta mediante un IS NULL sobre uno de sus campos. En estos casos, puede convenir el optimizar is null. Sobretodo si la …

Ver Post

Saber si un valor es numérico en Oracle

En Bases de Datos, Oracle por trellat0 Comentarios

En ocasiones, puede ser de utilidad saber si un valor es numérico para aplicarle o no un tratamiento o preprocesado. Puede servir para discriminar a los valores numéricos en una select porque a lo mejor, lo que se quiera hacer con ese valor daría error si el valor no es numérico. Este problema suele aparecer en los campos que almacenan …

Ver Post

Split de cadenas cortas en SQL Server‏

En Bases de Datos, SQL Server por trellat0 Comentarios

Buscando si existe alguna función en SQL Server parecida al Split de Java para parsear cadenas sin tener que montar un procedimiento con charindex y substrings para separar las cadenas, al final he dado con la función PARSENAME, que no sirve exactamente para hacer split de cadenas en sí, pero para cadenas cortas funciona bien y sobretodo es rápido y directo. Realmente, …

Ver Post

Comprobar si existe un fichero con SQL Server

En Bases de Datos, SQL Server por trellat0 Comentarios

Para hacer más estable un procedimiento almacenado o stored procedure en SQL Server que trabaje con ficheros se puede realizar la comprobación de si el fichero en cuestión existe antes de empezar a procesarlo, de manera que sea más fácil de controlar el error que devuelve SQL Server cuando no existe. Esto es especialmente útil en los procesos de importación …

Ver Post

Diferencia entre fechas en SQL Server

En Bases de Datos, SQL Server por trellat0 Comentarios

En SQL Server  existe una función a la cual, pasándole dos fechas, devuelve la diferencia entre ellas. Esta función de diferencia entre fechas, se llama DATEDIFF y como peculiaridad entre otros motores de bases de datos, está que se puede definir la unidad de medida en la cual se devolverá el resultado (segundos, minutos, días, etc.). Esta función sólo está …

Ver Post

Importar Geolite2 en MySQL

En MySQL por trellat0 Comentarios

Tras el análisis realizado de la base de datos de Maxmind en la cual se puede relacionar cada IP con la localización (ciudad/estado/país) de la misma, es conveniente poder importarla a la base de datos con la que se esté trabajando para que sea más fácil analizar los datos. Para ello, se va a importar GeoLite2 en MySQL, en concreto …

Ver Post

Cómo utilizar MaxMind GeoLite2 para geolocalizar IPs

En Bases de Datos por trellat0 Comentarios

Sobre todo en proyectos web, es fácil que alguna vez hayas sentido la necesidad de conocer a qué ciudad o territorio pertenece la IP de los visitantes de la web. Esto se puede conocer con cierta precisión debido a que cada territorio tiene preasignado uno o varios bloques de direcciones IP que utilizarán los clientes que se conecten desde allí. …