mysql php y relaciones querys muy cargadas

Iniciado por Yorshdelaselva, 17 Febrero 2017, 21:09 PM

0 Miembros y 1 Visitante están viendo este tema.

Yorshdelaselva

Hola amigos ..

tengo una humilde pregunta sobre php y mysql y relaciones... pasa que tengo una tabla productos...
y guarda el id  de la marca del producto y el id de la catgoria ....

lo que pasa esque cuando voy a obtener los datos bueno me traigo todos los productos ... mi pregunta es mas sobre rendimiento por que en el mismo bucle que recorro todos los productos tendria que ejecutar dos querys mas una para traerme la marca y la categoria y yo pensaba que si llegaria a tener muchos productos  tendrian que hacerce muchas consultas consecutivas a la bd   y me preguntaba si es la mejor manera de hacerlo o hay alguna otra forma mejor para evitar que se ejecuten tantas querys al mismo tiempo...

si la hay por favor compartanmen un ejemplo... yo uso la libreria pdo no mysqli

danny920825

No soy avanzado en PHP, ni siquiera soy medio segun mi propio criterio, pero lo que he leido al respecto es lo siguiente:
Existen varias formas de conectarse a una BD. En PHP por ejemplo, existen 3 que son básicas:

  • MySql
  • mysqli
  • PDO
Donde:
MySql es la versión antigua, actualmente sin soporte y posiblemente desaparezca en futuras versiones.
mysqli: Es la versión actual, orientada a objetos y con mayor desempeño que su antecesora.
PDO: Es una capa abstracta para conexion a las BD donde te permite ejecutar las mismas sentencias indiferente del tipo de conexion que uses: SLQ, Ocacle, etc. Es muy útil cuando vas a iniciar una aplicación con una BD y luego usar otra (ej: MySql y luego MSSQL).

Siguiendo esta linea de pensamiento, a mi entender, el orden sería: Utilizar MySql como último recurso o no utilizarlo ya que será eliminado posiblemente en futuras versiones. Luego de eso, sería escoger entre mysqli y PDO. Donde la importancia sería si quieres mejor rendimiento (mysqli) o posibilidades de migración (PDO).
No sé si me enredé mucho, pero es lo poco que sé.
"Los que reniegan de Dios es por desesperación de no encontrarlo".
   Miguel de Unamuno

Yorshdelaselva

#2
no es mi pregunta... mi pregunta es si hay otra forma de resolver el supuesto futuro problema de rendimiento cuando estoy trayendo los datos de la bd .... fetch te devuelve un arreglo... para mostrar ese arreglo hay que iterarlo en un bucle porejemplo yo uso un foreach si uso php y cuando uso ajax uso $.each() cuando uso jquery (aunque no venga al caso...) .el problema viene que en cada iteracion tengo que hacer dos querys trayendome la marca y la categoria correspondiente a cada producto si yo lelgaria a tener 300 productos almacenados en la base de datos estaria haciendo 600 querys seguidas sino me equivoco mi pregunta es si afecta mucho el rendimiento al hacer este procedimiento... ahora estoy en localhost lo cual calculo que la diferencia seria muy diferente si tendria el sistema en la web

engel lex

mejor... muestra tu query... yo creo que lo que quieres se puede hacer en usa sola query en lugar de 600
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.