Episodio 22: MySQL
5 (100%) 2 votos

En este episodio hago un barrido general a MySQL:

Ventajas
– Es uno de los 3 motores de base de datos más popular (junto a oracle y Microsoft SQL Server)
– Opensource (atractivo)
– Va de la mano con php
– Viene instalado en la mayoría de los servicios de hosting básicos
– Rápido y de bajo consumo de recursos

PhpMyAdmin
– Herramienta hecha en php para administrar MySQL a través de páginas web (permite hacer de todo)
– Limitado por el timeout de servidor (max_input_time, max_execution_time)
– Limitado por el timeout de MySQL (ExecTimeLimit)
– Limitado por la carga de archivos (upload_max_filesize, post_max_filesize)
– También se puede usar MySQL desde la línea de comandos (más rápido para trabajar – duplicar – bases de datos grandes)

Tips
– LIMIT 1 (o limit en general)
– Como nombrar las bases de datos y cada uno de los campos (o columnas)
– Para evitar el timeout (“mysql bigDump” en google – o ir a este link)

Mitos
– ¿SQL es más rápido que MySQL?
– Una sola conexión y muchas consultas (en vez de una conexión por consulta)

Episodio 22: MySQL
Etiquetado en:            

4 pensamientos en “Episodio 22: MySQL

  • 17/03/2015 a las 10:11
    Enlace permanente

    1. PHPMyadmin viene por defecto en los paquetes AIO (all in one) con servicios XAMP X:Sistema Operativo, Apache,MySql,PHP
    2. Alternativas a PHPMyadmin puede ser MySQL Workbench, es una herramienta oficial de Oracle, Toad que también es Oracle (de pago)
    3. Workbench permite hacer duplicidad de bases de datos, realiza los comandos de mysql mediante una interfaz gráfica
    4. En el ejemplo de la tabla usuarios con instrumentos como buena práctica se deben utilizar 3 tablas. Una usuarios, una de instrumentos y una de ambas
    donde tienes el ID usuario, ID intrumento, y mediante Joins naturales unes tablas
    5. Nunca lanzar un query con Select *. Aunque sea lento se recomienda siempre pedir los campos de forma directa. Podría ser un buen TIP
    6. La “Nomenclatura” se llama “estilo” y realmente es un muy buen Tip
    7. Fé de érratas: El mito SQL es más rapido que MySQL. SQL=Structured query Language. MySQL es un motor de base de datos.
    8. Otro TIP es bueno cuando tienes Joins Naturales utilizar Vistas, sobre todo cuando aquellas consultas son recurrentes. La vista genera una caché en el motor y va devolviendo cada vez más rapido. Para implementar un sistema inteligente de Cachés, la mejor herramienta es Apache Solr.
    9. Si bien utilizo MySQL mucho, prefiero PostgreSQL. Capacidad de Stored Procedures, Triggers entre otros, más todas las capacidades de MySQL, también es Open Source

    Responder
  • 17/03/2015 a las 10:21
    Enlace permanente

    Gracias Rogelio… como siempre con buenos aportes 🙂

    Respecto a SELECT *, si pensé que iba a generar tiritones de ojo en varias personas jajaja, pero era para explicar el concepto. De todas formas, tienes razón: lo ideal es no usar SELECT * para las consultas SQL.

    Y respecto a la Fé de Erratas: me refiería a MySQL vs otros motores de bases de datos, como Microsoft SQL Server (de hecho me refería a ese), pues me ha pasado que he llegado donde clientes que utilizan Microsoft SQL Server porque “es más rápido” pero no tienen como fundamentarlo… de hecho sus propias bases de datos son más lentas o igual que si hubiesen utilizado MySQL porque no están optimizadas.

    Gracias por el aporte! 😉

    Responder
  • 09/02/2016 a las 23:36
    Enlace permanente

    A ver, el nombrar a cada campo con el nombre de la tabla, puede ser mas cómodo visualmente, y mas cómodo para ti poner “Where usuarioid = intrumentousuario” pero esto para el SGBD es peor, para eso esta el AS, “from usuarios U LEFT JOIN instrumentos I ON U.Id = I.IdUsuario” siempre dándole al SGBD la tabla.campo, ya que le estas facilitando las cosas, al igual que nombrar los campos y no usas * e incluso poner solo los campos que vas a necesitar no todos.
    Y consultas con uniones, si están bien montadas, podrán parecerte una aberración, pero son impresionantemente rápidas.

    Me ha defraudado mucho el podcast, esperaba que hablaras del distintas formas de montar JOINs como elegir el mas adecuado según el caso, el uso de EXPLAIN para ver como MySQL va a intentar resolver tu consulta, como configurarlo para que las consultas lentas se guarden en un fichero a parte (y definir cuanto tiempo es para que sea lenta 100ms 300ms etc) y así poder hacer un seguimiento a estas SQL que serán tu cuello de botella.

    Responder
    • 10/02/2016 a las 00:03
      Enlace permanente

      Hola Prueba Rana (¿?). Bueno, aunque te haya defraudado el podcast, agradezo el comentario de igual manera. Como habrás leido en la descripción no hablé de esos temas porque creo que, para un episodio de introducción, no creí necesario llegar a cosas tan específicas. Sin embargo pretendo hablar de algunos de esos temas más adelante, y como veo que manejas muy bien el tema, te dejo cordialmente invitado a que nos aportes, e incluso si quieres hacer un episodio del podcast en conjunto, estaría encantado.
      Como siempre comento en mis episodios, doy mi punto de vista y explico la forma en que, en base a mi experiencia, me ha dado mejores resultados y la idea siempre es generar debate.
      Un abrazo!

Deja un comentario

¿Quieres recibir el contenido V.I.P de Preceptos Digitales?

¿Quieres recibir el contenido V.I.P de Preceptos Digitales?

Ingresa tu correo y te enviaremos contenidos especiales para quienes escuchan el Podcast!



Te has suscrito exitosamente! Nos hablamos!