elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


Tema destacado:


  Mostrar Mensajes
Páginas: 1 ... 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 [216] 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 ... 235
2151  Programación / Bases de Datos / Re: MySQL, reporte "Registros duplicados" (Solucionado) en: 14 Febrero 2009, 02:17 am
Bueno, he encontrado otra forma de encontrar los registros duplicados de una manera muchísimo mas Eficiente. La anterior era totalmente ineficiente con bases de datos grande.

Al principio sirvió Fantástico pero he llegado al punto que se vuelve eterno esperar la respuesta del servidor MySQL ya que la información a crecido muy rápidamente, ahora estoy hablando de ~45K aproximadamente.

Generaré 50K registros con el siguiente codigo en C:

Código
  1. #include<stdio.h>
  2.  
  3. int main() {
  4. srandomdev();
  5. unsigned short i=0;
  6. unsigned char a,b;
  7. while(i < 50000) {
  8. a = (unsigned char) random();
  9. b = (unsigned char) random();
  10. printf("%d,%d\n",a,b);
  11. i++;
  12. }
  13. return 0;
  14. }
  15.  
  16.  

Despues de compilarlo y ejecutarlo

Código
  1. Anon@localhost % gcc csvCrandom.c -o csvCrandom
  2. Anon@localhost % ./csvCrandom
  3.  

Nos devuelve una salida muy extensa asi:

Citar
79,183
213,188
177,147
31,158
90,157
230,190
40,222
176,219
37,14
237,130
116,104
66,145
...

Asi unas 50K veces, lo comprobamos con:

Código
  1. Anon@localhost % ./csvCrandom | wc -l
  2.   50000
  3.  

Despues de Mandar la salida al archivo:

Código
  1. Anon@localhost % ./csvCrandom > ./csvRandom.csv
  2. Anon@localhost % wc -l csvRandom.csv
  3.   50000 csvRandom.csv
  4.  

Vemos que tiene nuestras 50K Lineas entonces desde MySQL empezamos desde 0 con el codigo que mistre anteriormente Modificado:

Código
  1. DROP DATABASE IF EXISTS `db`;
  2. CREATE DATABASE  `db`;
  3. USE db;
  4.  
  5. DROP TABLE IF EXISTS `tabla`;
  6.  
  7. CREATE TABLE tabla (
  8. id VARCHAR(10) NULL,
  9. grupo  VARCHAR(10) NULL
  10. );
  11.  
  12. LOAD DATA INFILE '/path/to/file/csvRandom.csv' INTO TABLE tabla FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
  13.  

Una vez cargada la información comprobábamos en MySQL que se carge correctamente con count

Citar
mysql> Select count(*) from tabla;
+----------+
| count(*) |
+----------+
|    50000 |
+----------+
1 row in set (0.00 sec)

Vemos que todo esta bien, ahora si llamamos al primer escript para comparar vemos que podría tardar horas y muchos se desesperarían.

Primer script:

Código
  1. SELECT * FROM tabla
  2. WHERE(id, grupo)
  3. IN(
  4. SELECT id, grupo FROM tabla
  5. GROUP BY id, grupo
  6. HAVING COUNT(*)>1);

Ahora si lo reducimos a una línea y sin subconsulta queda asi:

Segundo script

Código
  1. SELECT *,COUNT(*) AS 'Veces Repetido' FROM tabla GROUP BY concat(id,grupo) HAVING COUNT(*)>1;

Vemos que no dura mas de 2 Segundos en ejecutarse Y encuentra la misma cantidad registros duplicados.

Tal vez ya lo hubiesen pensado, sin embargo como no lo encontré publicado en el foro, lo pongo. Espero y le sirva a alguien mas.

Saludos.
2152  Seguridad Informática / Hacking / Re: Certified Penetration Testing Specialist en: 12 Febrero 2009, 17:40 pm
Igualmente muchas gracias por el aporte.

Lo estare descargando, con la esperanza de algun dia resubirlo a MU

Saludos.
2153  Seguridad Informática / Hacking / Re: Certified Penetration Testing Specialist en: 9 Febrero 2009, 17:46 pm
Perfectisimo, pero Rapid ???

Me gustaria mas Megaupload.

Saludos.
2154  Programación / PHP / Re: Te aburre cambiar de avatar todos el tiempo? en: 24 Enero 2009, 17:38 pm
Precisamente estaba pensando en buscar un codigo así.

Saludos.
2155  Seguridad Informática / Nivel Web / Re: [Duda] Sql Injeccion en: 23 Enero 2009, 16:32 pm
Obvio que muchos de los de este foro lo usan, sin embargo has podido saltar ese Query ?

Saludos.
2156  Seguridad Informática / Bugs y Exploits / Re: Deshabilitando protecciones contra Buffer Overflows en: 20 Enero 2009, 19:05 pm
Perfecto, yo me los practicare bajo linux, en esta semana que me lo instale, también voy a instalar el windows, para testear algunas vulnerabilidades bajo el.

Saludos.


Que esto no estaba en Bugs y exploits ?
2157  Informática / Software / Re: como abrir archivo nrg en: 19 Enero 2009, 23:10 pm
 :laugh: lol

Obvio que limpio es virgen, igual buena observacion ya que parece que no conoce muy bien esos terminos.

Saludos.
2158  Foros Generales / Noticias / Re: Revientan y ridiculizan la campaña "Si eres legal, eres legal" en: 19 Enero 2009, 23:03 pm
 :laugh: :laugh: :laugh:

LOL

Virus en el procesador hahaha.

Saludos.
2159  Informática / Software / Re: como abrir archivo nrg en: 19 Enero 2009, 22:51 pm
Abres nero de ser posible el nero express Después te vas a "Image,Project, Copy" después de eso te aparece una lista con 3 opciones, de las en "Disc Image or Saved Project" Buscas tu archivos nrg, y después de eso lo quemas.

Saludos



Tienes que tener un CD Limpio para que lo puedes quemar bien.

2160  Informática / Software / Re: como abrir archivo nrg en: 19 Enero 2009, 22:36 pm
Tienes que Abrirlo con el Nero y quemarlo desde el, tambien puedes ponerlo virtualmente en tu computadora y abrilo como si nada.

Saludos.
Páginas: 1 ... 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 [216] 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 ... 235
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines