1 0 Archive | MySQL RSS feed para esta categoría
post icon

Optimizar las querys con cláusula LIKE en SQL [SQL-Tunning]

Continuando con los tips para optimizar nuestras querys SQL, trataremos unas de las clásulas que más ralentizan éstas. El operador LIKE.

La definición que exponen en la TechNet me gusta y dice asi:

Determina si una cadena de caracteres específica coincide con un patrón especificado. Un patrón puede contener caracteres normales y caracteres comodín. Durante la operación de búsqueda de coincidencias de patrón, los caracteres normales deben coincidir exactamente con los caracteres especificados en la cadena de caracteres. Sin embargo, los caracteres comodín pueden coincidir con fragmentos arbitrarios de la cadena. La utilización de caracteres comodín hace que el operador LIKE sea más flexible que los operadores de comparación de cadenas = y !=.

Como se tiene que trabajar con cadenas de texto, dentro de otras cadenas más grandes normalmente, es un proceso lento para la comparación. Muchas veces (Continuar Leyendo sobre Optimizar las querys con cláusula LIKE en SQL [SQL-Tunning])

Leave a Comment
post icon

Obtener un registro de la base de datos aleatoriamente mediante SQL

Si lo que necesitas es obtener una o un par de filas de tu base de datos de manera “randomica”  existen muchas soluciones que se pueden implementar, desde hacer un “select silvestre” y desde alguna aplicación que utilice algoritmos que permitan seleccionar un registro de manera aleatoria, hasta “cocinarlo” en desde la misma base de datos.

Dependiendo el contexto de trabajo es conveniente elegir una opción u otra. Pero ésta vez quiero centrarme más bien en hacer el trabajo desde la Base de Datos, con un Query SQL para los distintos (Continuar Leyendo sobre Obtener un registro de la base de datos aleatoriamente mediante SQL)

Leave a Comment
post icon

Insertar datos desde un csv a mysql con java

A continuacion veremos una forma sencilla, para insertar o actualizar los datos en una db mysql desde un archivo csv para ello necesitaremos una librería externa que pueden descargarla desde aqui:
http://oss.mars.asu.edu/trac/jmars/browser/trunk/lib/javacsv.jar?rev=1
Para esto supongamos que nuestro archivo csv este ordenado asi:

100,"Juan","Gonzalez",123454,"5ta avenida c/Artigas 1560","59521-345445";

Con este ejemplo nosotros insertamos y actualizamos los datos en la db por medio de procedimientos almacenados. El nombre de los sp pueden variar, y la logica es casi lo mismo para insertar o actualizar en otros motores de bases de datos.

(Continuar Leyendo sobre Insertar datos desde un csv a mysql con java)

Leave a Comment
post icon

Cargar un DataGridView a partir de un DataSet/DataTable

El día de ayer veíamos como recorrer un DataReader y rellenar una grilla con sus filas, además de las ventajas y desventajas de cada uno en cada caso, hoy veremos la misma funcionalidad pero a partir de un DataSet que contiene un DataTable.

El código será en su mayor parte el mismo que ayer para comprender con mayor facilidad la diferencia, y sólo variará en la fuente de datos para la grilla.

Recordad que no es necesario en éste caso que generen las columnas en de la grilla, ya que el método DataSource de la grilla se encargará de crear la colección. (Continuar Leyendo sobre Cargar un DataGridView a partir de un DataSet/DataTable)

Leave a Comment
post icon

Recorrer un DataReader y cargar un DataGridView en C#

Hoy estaba mostrandoles a unos compañeros de trabajo trozos de código básicos para comenzar a programar en C#.Net y lo primero que hicimos fue Conectarnos a un motor de Base de Datos MySQL y cargamos una grilla a partir de un DataReader y noté que resultó más complicado que cargarlo desde un DataTable, entonces decidí escribir el código aquí para otros que lo necesiten en algún momento.

Basicamente, lo que haremos será seleccionar datos de una tabla y lo cargaremos en un DataReader, luego recorreremos secuencialmente la misma e iremos cargando fila por fila la grilla. Deben tener en cuenta que la grilla ya tiene que tener diseñada las columnas o en su defecto ir agregandoles por código las mismas. (Continuar Leyendo sobre Recorrer un DataReader y cargar un DataGridView en C#)

Leave a Comment
post icon

Como ejecutar SQL dinámico en MySQL

Si necesitamos crear crear una consulta SQL que se vaya armando según algunos patrones, ya sean hechos por el usuario o algunos datos y no queremos crear muchos querys distintos y empezar a evaluar cual se ejecutará podemos recurrir a los SQL Dinámicos.

El mismo es soportado por la mayoría de los motores de base de datos, y en esta entrega veremos como hacerlo en MySQL, en las siguiente veremos como hacerlo en SQL Server y Oracle.

Consiste en crear una variable de texto (varchar en la mayoría de los casos) e ir armando dentro de ella la consulta a ejecutar, luego simplemente qudaría ejecutar la variable. (Continuar Leyendo sobre Como ejecutar SQL dinámico en MySQL)

Leave a Comment
post icon

Como Otorgar y Denegar permisos sobre los objetos de MySQL

Administrar la seguridad de nuestras bases de datos suele ser un tema que solemos dejar muy “colgado” y le restamos importancia siendo que no debe ser así, luego de la funcionalidad y las copias de seguridad deberían enfocarse nuestras prioridades en la seguridad del mismo.

Personalmente considero que un motor que no soporte Procedimientos Almacenados o Funciones no debe utilizarse para almacenar datos importantes, ello nos ayudará a administrar gran parte de la seguridad del mismo. (Continuar Leyendo sobre Como Otorgar y Denegar permisos sobre los objetos de MySQL)

Leave a Comment
post icon

Solucionar error: ‘Unable to convert MySQL date/time value to System.DateTime’

Ayer estuve trabajando con la versión 4 de MySQL y como front-end tenía a ASP.Net. Utilice como proveedor de datos MySQL Data Provider ofrecido gratuitamente por Oracle en su versión 6.2.

Mientras iba desarrollando la app lograba la conexión y el paso de datos varchar y las variantes númericas sin ningún problema, en cierto momento necesite trabajar con datos timestamp y datetime donde fue que me apareció el siguiente error:

Unable to convert MySQL date/time value to System.DateTime

Leyendo la documentación me enteré cual era el problema, algunos campos de este tipo de dato estaban con valores nulos o en el caso de datetime tenia ’0000-00-00 00:00:00′. Lo cual produce el error de conversión con el Data Provider (por lo que leí también ocurre con conexiones ODBC). (Continuar Leyendo sobre Solucionar error: ‘Unable to convert MySQL date/time value to System.DateTime’)

Leave a Comment
post icon

Tutorial de Replicacion Circular en MySQL

Hace 8 meses atrás aproximadamente escribí sobre como crear una replicación de tipo Maestro/Esclavo con MySQL en la cual prometía continuar la guía escribiendo como hacer lo mismo pero de modo circular, es decir, una replicación 2-way.

Para llevar a cabo este tutorial, deberán configurar sus bases de datos como lo decía la primer parte. La misma pueden leerla aquí: Replicacion MySQL.

Una vez todo lo anterior este OK, detendremos (Continuar Leyendo sobre Tutorial de Replicacion Circular en MySQL)

Leave a Comment
post icon

Cambiar el nombre del usuario root en MySQL

Cuando instalamos por primera vez un motor de base de datos MySQL, éste crea un montón de configuraciones por defecto que no son precisamente las más convenientes en todos los contextos. Si la instalación será una de producción es conveniente subir los niveles de seguridad del mismo, siempre achicando las brechas para algún atacante.

Es sabido que el usuario super administrador en MySQL se llama root, y tiene “super poderes” para hacer y deshacer lo que quiera. Con esto, al atacante le queda sólo conocer la contraseña de dicho usuario y podrá hacer lo que le venga en ganas. Un paso más que podemos hacer para complicarle las cosas a nuestro atacante es cambiar el nombre del usuario root. (Continuar Leyendo sobre Cambiar el nombre del usuario root en MySQL)

Leave a Comment
Página 1 de 3123