{"id":245,"date":"2008-08-11T21:45:27","date_gmt":"2008-08-12T02:45:27","guid":{"rendered":"http:\/\/eljeffto.com\/?p=245"},"modified":"2008-08-11T21:45:27","modified_gmt":"2008-08-12T02:45:27","slug":"locuras-con-bases-de-datos","status":"publish","type":"post","link":"https:\/\/eljeffto.com\/?p=245","title":{"rendered":"Locuras con bases de datos"},"content":{"rendered":"<p>El mundo de las bases de datos es maravilloso, de hecho el uso de motores libres lo es a\u00fan mejor, estando al interior de SUN he tenido la oportunidad de conocer m\u00e1s de cerca MySQL y notar que no es como dijo alg\u00fan docente \u00abMysql es para estudiantes\u00bb, o bueno, los estudiantes de Google, Yahoo y la Wikipedia les ha servido, l\u00e1stima que no sean empresas grandes&#8230;<\/p>\n<p>Bueno, el chiste de hoy se relaciona con una situaci\u00f3n a la cual me enfrent\u00e9 en la tarde del d\u00eda de hoy:<\/p>\n<p>Un servidor con 15gb de disco, 256 de ram, Debian Woody y una base de datos con 6 millones de registros, equivalente a 1.2 gb en Mysql.<\/p>\n<p>Misi\u00f3n: Dividirla por a\u00f1os para hacer las consultas m\u00e1s veloces y \u00e1giles.<\/p>\n<p>Intentos:<\/p>\n<ul>\n<li>Exportar desde phpmyadmin,fall\u00f3 dado que eran lotes de registros muy grandes<\/li>\n<li>Exportar con mysqldump, fall\u00f3 dado que no se puede o no encontr\u00e9 como exportar un query&#8230;<\/li>\n<li>Exportar por medio del uso de OUTPUT INTO FILE, intentando crear un fichero CSV pero nada, aparte eran lotes de 555,000 a 1.000.000 de registros y las hojas de c\u00e1lculo llegan hasta 65xxx.<\/li>\n<\/ul>\n<p>Soluci\u00f3n:<\/p>\n<ul>\n<li>Subir la memoria disponible para scripts en PHP de 128MB a 1GB (Macabro :P), luego hacer selects por lotes de 6 meses o menos, sin que me superaran el millon de registros y luego si fusionar cada tabla. Esto me tomo 4 horas, pero fue entretenido.<\/li>\n<\/ul>\n<p>No siendo m\u00e1s me despido y pronto nos veremos hablando tem\u00e1s m\u00e1s t\u00e9cnicos de Mysql \ud83d\ude1b<\/p>\n","protected":false},"excerpt":{"rendered":"<p>El mundo de las bases de datos es maravilloso, de hecho el uso de motores libres lo es a\u00fan mejor, estando al interior de SUN he tenido la oportunidad de conocer m\u00e1s de cerca MySQL y notar que no es como dijo alg\u00fan docente \u00abMysql es para estudiantes\u00bb, o bueno, los estudiantes de Google, Yahoo &#8230; <span class=\"more\"><a class=\"more-link\" href=\"https:\/\/eljeffto.com\/?p=245\">[Read more&#8230;]<\/a><\/span><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15,27,28],"tags":[60,84,577,149,167],"class_list":{"0":"entry","1":"post","2":"publish","3":"author-jeffto","4":"post-245","6":"format-standard","7":"category-linux","8":"category-softwarelibre","9":"category-tecnologia","10":"post_tag-bases-de-datos","11":"post_tag-debian","12":"post_tag-linux","13":"post_tag-mysql","14":"post_tag-php"},"_links":{"self":[{"href":"https:\/\/eljeffto.com\/index.php?rest_route=\/wp\/v2\/posts\/245","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eljeffto.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/eljeffto.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/eljeffto.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/eljeffto.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=245"}],"version-history":[{"count":0,"href":"https:\/\/eljeffto.com\/index.php?rest_route=\/wp\/v2\/posts\/245\/revisions"}],"wp:attachment":[{"href":"https:\/\/eljeffto.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=245"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eljeffto.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=245"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eljeffto.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=245"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}