Foros del Web » Programando para Internet » PHP »

Preguntas de principiante a Mysql?

Estas en el tema de Preguntas de principiante a Mysql? en el foro de PHP en Foros del Web. Tengo bastanetes dudas, yo solucione las consultas pero no se si estarian bien, espero que se den un tiempo para responderme ,tk 1.- Para un ...
  #1 (permalink)  
Antiguo 11/09/2004, 18:52
 
Fecha de Ingreso: octubre-2003
Mensajes: 152
Antigüedad: 14 años, 1 mes
Puntos: 2
Preguntas de principiante a Mysql?

Tengo bastanetes dudas, yo solucione las consultas pero no se si estarian bien, espero que se den un tiempo para responderme ,tk

1.- Para un paginador, como se sabe tengo primero obtener el total de registros para luego cacular el nuemro de paginas, pero tengo 27.000 regs.

yo hago algo asi.
$sql = "SELECT * FROM tabla";
luego de hacer la consulta recupero el total de registros. luego hago una segunda consulta.
$sql .= " LIMIT $pag,30"; para que me muestre, al menos esa es la Idea.
quiero la respuesta, no un script que lo solucione.

2.- Tengo una tabla que tiene como id principal unn VARCHAR, el problema es que almacena numero nada mas, pero asi lo exige una norma digamos, para hacer una consulta que me ordene por Id principal, me agrupa como texto, pero que mas se podia esperar, pero yo quiero que me ordene como numerico.

La solucio que le di es:
$sql = "SELECT * FROM tabla ORDER BY id+0 ASC";

estara bien? o hay otra solucion.

3.- "Cuando una tabla esta relacionada como se hace una consulta de campos de las tablas relacionadas"

4.- "Escuche por ahy de un metodo para que se agrupe en una tabla temporal los datos mas recurridos, esto perimitiria que la consulta sea mas rapida, como hago eso, se puede hacer con mysql?, talvez solo una pista"

5.- Yo he creado unas Clases para hacer consultas, una de esas clases se por ejemplo CMysqlDatabase el cual ejecuta la consulta, tambien puedes actualizar, borrar, crear un registro, de forma comoda, tambien he creado una clase CMysqlResult para almacenar un registro y moverse en los registros, pero esta ultima no cumple su fucnion me parece, esta bien, o que me recomiendan.

6.- En una tabla, cuantos registros puede almacenar, porque estoy temiendo que mis datos se perderan pasando un limite, si alguein puede contestar, tk.

7.- Ok, eso es creo por el momento todo.

Gracias por su tiempo al menos por haber leido esto.
__________________
Mamani Calderón, Edwin Fredy
Ingeniería de Sistemas www.gruposistemas.com
  #2 (permalink)  
Antiguo 12/09/2004, 12:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
1) .. Si esa es la idea, .. incluso para optimizar .. la consulta del total de registros podrías usar COUNT() (en lugar tal vez de mysql_num_rows() que también podrías usar)

Un ejemplo:
http://jpinedo.webcindario.com/scripts/paginator/

2) ... si guardas numeros tendrás que cambiar tu campo tipo VARCHAR a uno numérico . .ya sea un SMALLINT o INT o lo que más se ajuste a tus necesidades.

3) Bueno, puedes usar simplemente consultas SQL tipo:

SELECT tabla1.nombre_campo,tabla2.nombre_campo FROM tabla1,tabla2 WHERE tabla1.campo_relacion=tabla2.campo_relacion AND otras condiciones ...

Pero mejor quedaría usando INERT JOIN o similar

Puedes ver más tutoriales al respecto en: www.mysql-hispano.com

4) .. Si, en Mysql tienes las tablas tipo "heap" para tal fin .. Las consultas realizadas quedan en memoria (a costa de alto consumo de recursos) .. Tienen sus limitaciones:
http://dev.mysql.com/doc/mysql/en/HEAP.html

5) .. Pues sin ver el código y explicar detalladamente como funciona tu classe no sé que evaluación podemos dar.

por lo demás .. es gratificante crear tus própios métodos/classes para taréas como las que mencionas .. Pero, tal vez te vendría bien ver como trabajan otras classes para tal fin de "fama" reconocida (y que no sólo trabajan con Mysql sino como capa de abstracción de BD: de várias simultáneamente) como por ejemplo: AdoDB (http://php.weblogs.com/adodb_manual) (incluye si mal no recuerdo integrado métodos para paginación)

6) ... Las especificaciones técnicas de Mysql lo tienes en su web oficial: www.mysql.com (hablan de millones de registros por tabla .. otra cosa será si con tal cantidad de datos tu hardware de tu servidor y S.O que uses resulte más o menos cómodo gestionar tales tamañós de tu BD).

7) .. La mayoría de cosas que has preguntado son de "Mysql" no de PHP .. Recuerda que PHP sólo te pone a tu disposición una série de funciones para interactuar con tu Base de datos . .en este caso a Mysql .. pero el resto de especificaciones téncias o detalles sobre "SQL" lo define Mysql (en este caso) así que problemas de ese estilo primero hay que resolverlos desde Mysql para luego aplicarlos (si corresponde) desde PHP.

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:10.