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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Mensajes
Páginas: 1 ... 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 [37] 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 ... 96
361  Media / Diseño Gráfico / Re: emoticones de el foro en: 17 Febrero 2010, 03:54 am
A mucha gente le gustan tus emoticonos de fantasmitas Castg  ;)

Se que esto no es un chat... y ya me esta dando alergia virtual de ver tantos gatos  :-\  solo queria pasar a decirte eso Castg estan bakan.. y ya me salgo que no soporto los gatos.
362  Programación / Bases de Datos / Re: Diferentes tipos de INDICES? en: 17 Febrero 2010, 03:43 am
Me confundi al leer el titulo de este post  :xD

Deberia ser formato de indices... no tipo de indices porque eso ya es otra cosa.

En relacion a tu pregunta chico  ;)  la diferencia principal radica en que crear 1 indice con varios campos se guarda bajo un mismo nombre y un mismo espacio, sin embargo al dividirlos estos se guardan bajo distintos nombres y su espacio individual y propio.

Puedes ver referencia de ello en la tabla table_constraints  de information_schema.

Creo que no te caeria nada mal, descargarte y leer el libro 'High Mysql Optimization'  tiene muchas respuestas a las preguntas que te has venido surgiendo  ;)
363  Programación / Bases de Datos / Re: Instalacion de mysqldb en python y windows vista en: 16 Febrero 2010, 20:48 pm
Quisiera ayudarte... pero honestamente, yo instale MySQLdb en Python 2.6 en Linux a puro golpes... como a ti, a la hora de compilar lanzaba meros errores y errores... y nada de seguir. Lamentablemente yo tiendo a compilar Mysql desde fuentes a la ultima version, por lo tanto tengo la 5.4 en un directorio personalizado /usr/local  y tuve que editar muchisimas cosas no solo de site.cfg sino del Makefile tambien  :-\   finalmente deje sin tocar site.cfg (el que trae originalmente, y con el mysql version 5.0) no toquetee ese sino el Makefile, compile y todo funciona ya en Python (aun yo teniendo mysql 5.4) pero te aseguro que fue a puro golpes... no queria.

En perl es muchisimo mas sencillo el proceso y jamas me he tocado con un error de esta indole (a no ser claro que MySQL no exista o no este instalado).
364  Programación / Bases de Datos / Re: Duda sobre ordenamiento de datos en Database en: 16 Febrero 2010, 19:44 pm
Es que nino (No te estoy ofendiendo que conste  ;) )

Tiene que respetar el ORDER BY porque va primero, es una condicion que va primero lo que tu no puedes aplicar es colocar ORDER BY despues del LIMIT  :xD  ni previamente al campo de los registros que se quieren obtener, digase tu no puedes hacer esto:

SELECT CAMPO LIMIT 5 ORDER BY CAMPO

o

SELECT ORDER BY CAMPO LIMIT 5

Porque por logica, no puedes ordenar unos datos sin primero haber obtenidos todos los datos, si te dan un archivo de texto y tu debes leerlo con tu aplicacion pero te dicen que de ese archivo solo quieren los nombres que comienzen con la letra 'A-F' por ejemplo... y tu archivo tiene nombres de la 'A-Z' que debes hacer primero para sacar esto?? leer todo el archivo completo, es ahi cuando tu aplicacion abre el archivo y lo lee completo primero (SELECT CAMPO) ya obtenido toda la info del archivo y temporalmente en memoria que haces para obtener todos los nombres ordenados de forma ascendente? aplicas un filtro (ORDER BY) y para finalizar supongamos que a ti solo te interesan de todos esos registros ya ordenados en memoria 10 (LIMIT).

Es lo mismo que ne programacion, leer todo, agrupar por una condicion y despues si existen mas condiciones cumplir las que siguen.
365  Programación / Bases de Datos / Re: Duda sobre ordenamiento de datos en Database en: 16 Febrero 2010, 18:33 pm
Chico pero que hace esto:

Citar
SELECT bla bla bla ORDER BY "NUMERO" LIMIT 5

SELECT CAMPO (recoge todos los registros de ese campo)
ORDER BY (verifica todos los registros ya tomados y los organiza en este caso ascendente)
LIMIT 5 (A los datos ya ordenados aplica esta ultima condicion)

Primero debe recoger todos los datos, para proceder a la segunda condicion ORDER BY y luego si existe proceder a la siguientes condiciones LIMIT.
366  Programación / Bases de Datos / Re: Duda sobre ordenamiento de datos en Database en: 16 Febrero 2010, 18:28 pm
Aja y tu que estas aplicando primero ORDER BY o LIMIT????  Pues ORDER BY  :xD  por ende ordena primero y entonces luego aplica la otra condicion que le sigue (si existen mas)

 ;)

Eso es asi.. primero recoge todos los datos, luego sigue a la primera condicion que es ORDER ordena y luego si hay mas sigue a la siguiente condicion que es LIMIT.

 :P
367  Programación / Bases de Datos / Re: Duda sobre ordenamiento de datos en Database en: 16 Febrero 2010, 17:19 pm
Un tema con una respuesta un poco extensa   :xD

Te desgloso que tiene internamente el motor MySQL como tal :



Donde:

Connection Thread/Handling
Se refiere al conector que utilizas para acceder al motor mediante algun lenguaje de programacion (un modulo o jdbc tu entiendes).

Query Cache
Despues de conectarte y enviar tu consulta SQL en tu codigo, lo primero que MySQL hace es verificar su buffer cache (query cache) que guarda en una cache del motor todas las consultas SELECT (Tu consulta SQL pasa por aqui primeramente haber si ya se realizo y retorno datos anteriormente, asi se ahorra tener que realizar todo el proceso otra vez y saca todo de la cache...) Pero no en todas las ocasiones Query Cache esta habilitado en el motor.. y no del todo conviene habilitarlo tampoco... yo solo queria informarte que luego de conectarte, lo segundo que haces es pasar por la cache.

Parser
Sino hay nada en la cache similar a tu consulta SQL, entonces sigues al 'parser' del motor, aqui es donde este se encarga de buscar toda la informacion dentro de las tablas y organizarlas acorde al predicado (eso que pones despues de WHERE).

Obviare el punto del Optimizador y de los motores, ya que no haces referencia de que quieras usar EXPLAIN.

Citar
El ORDER BY, Ordena la tabla y luego busca los resultados y los devuelve ordenados... O Devuelve los resultados Ordenados pero sin haberlos ordenado para devolverlos??? (notan la diferencia?)

Depende.... si haces tu consulta a traves de un lenguaje (PHP, Perl, Python, Java, etc..) recuerda que si no utilizas funciones tipo mysql_ubbuffered_cache  o use_results  o similares, aqui tu consulta lo que hace es una especie de SELECT * al motor para que este retorne todos los registros disponibles y estos son guardados en la buffer cache del modulo o api que usa tu lenguaje para conectarse a MySQL, luego que tienes ahi guardado todos esos registros en el buffer de tu API es entonces ahi que este funciona como el parser de MySQL, aplica todo lo que viene despues del WHERE de tu consulta pero a los datos guardados en el buffer de tu API no de MySQL como tal. Ahora si haces la consulta usando las funciones mencionada anteriormente, o por el cliente de Mysql directamente, entonces aca se cumple todo lo expuesto mas arriba (lo de verificar query cache, parser, etc) y entonces dentro del motor (aunque esto es transparente para ti) se retorna toda la data pero al buffer cache del motor y entonces ahi actua el 'parser' y organiza todo y entonces retorna lo que pediste. Primero se obtiene todos los registros y luego que estan todos retornados es que se aplica lo que viene despues del WHERE, entonces podria decirse:

ORDER BY  busca en la tabla, obtiene los resultados y luego los ordena y los devuelve.

Esto funciona asi, es como cuando en un lenguaje de programacion abres un archivo de texto con mucha informacion, y dentro de tu lenguaje dices... sacame y ordename los registros que encuentres que empiezen por la letra 'A' lo primero que hace tu aplicacion obviamente es abrir el archivo de texto, leerlo por completo.. y despues de tener toda la info en memoria entonces procede a ir separando todos los que empiezan por la letra 'A'... el motor de base de datos hace el mismo proceso  ;)

Sobre tu segunda pregunta, generalmente hacen un rejuego con la clausula LIMIT por ejemplo si tienes una tabla con 100 registros, van haciendo en un bucle algo asi:

SELECT * FROM TABLA ORDER BY CAMPO1 LIMIT $numero, $numerito;

Donde $numero es una variable que digamos su valor inicial en su bucle es 90 y el valor inicial en el bucle de $numerito es 100, entonces la consulta te retornara los 10 ultimos registros de los 100 (digase los registros que van del 90 al 100) luego vas restando tu bucle y el valor de $numerito pasa a ser 90 y el de $numero 80  entonces ahora te retornara los registros del 80 al 90 y asi sucesivamente... (todo controlado a nivel de codigo en el lenguaje). La manera de ordenarlo como usaras ORDER BY y sino especificas si es ASC o DESC el por defecto lo hace de manera Ascendente, por ende si tu ultimo registro dice 1 y tu antepenultimo registro dice 2  el te ordenara todo colocando primero el 1 despues el 2.
368  Media / Diseño Gráfico / Re: emoticones de el foro en: 16 Febrero 2010, 01:24 am


Código
  1.  
  2. if ( mensaje == chat() )
  3.    raise(SIGKILL);
  4.  
  5.  

 ;D
369  Seguridad Informática / Nivel Web / Re: ASP vulnerable a SQLi por IIS en: 15 Febrero 2010, 18:16 pm
No niego que no  ;)

Pero me quedo con el procedimiento almacenado despues de evaluar de que manera se puede bypassear uno de estos... que es practicamente imposible. Sin embargo las funciones estas de escape_string y similares... hay maneras posibles de bypassearlas.

Me quedo con el procedimiento  ;)
370  Seguridad Informática / Nivel Web / Re: Efectividad de los Procedimientos Almacenados. en: 15 Febrero 2010, 06:21 am
Vaya pero si para bypessear un procedimiento tienen que hackear primero al servidor, consideras mas efectivo los escape_querys???

Estoy casi casi considerando inclinarme por el procedimiento almacenado....  :laugh: 
Páginas: 1 ... 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 [37] 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 ... 96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines