Probleme exécution requête
Mika
-
Mika -
Mika -
Bonjour à tous,
J'ai un souci avec une requête SQL.
Celle-ci s'exécute mais j'obtient le résultat au bout de 5minutes (le serveur est bien ralentit pendant ce temps la).
Mon problème est que je ne vois pas comment l'optimiser.
Cette requête doit me renvoyer les dates ou ,au moins, un produit appartenant à la catégorie 183 a été acheté. L'utilisateur sélectionne le mois et l'année où la recherche doit s'effectuer.
Voici mon code en php :
if ($_POST['mois'] || $_POST['annee'])
{
$query = "SELECT distinct(DATE(o.date_purchased)) as maDate, DAY(o.date_purchased) as day, MONTH(o.date_purchased) as month, YEAR(o.date_purchased) as year ";
$query .= 'FROM ' . TABLE_ORDERS . ' o ';
$query .= ', ' . TABLE_ORDERS_PRODUCTS . ' op ';
$query .= ', ' . TABLE_PRODUCTS . ' p ';
$query .= ', ' . TABLE_PRODUCTS_TO_CATEGORIES . ' pc ';
$query .= ', ' . TABLE_CATEGORIES . ' c ';
$query .= 'where o.orders_id = op.orders_id ';
$query .= 'and op.products_id = p.products_id ';
$query .= 'and p.products_id = pc.products_id ';
$query .= 'and pc.categories_id = c.categories_id ';
$query .= 'and c.parent_id = 183 ';
if ($_POST['mois'])
{
$query .= 'and MONTH(o.date_purchased) = ' . $_POST['mois'] . ' ';
}
if ($_POST['annee'])
{
$query .= 'and YEAR(o.date_purchased) = ' . $_POST['annee'] . ' ';
}
$query .= 'order by DAY(o.date_purchased)';
$livre_array = tep_db_query($query);
$num_result = tep_db_num_rows($livre_array);
}
En espérant que vous pourrez m'aider, merci d'avance.
J'ai un souci avec une requête SQL.
Celle-ci s'exécute mais j'obtient le résultat au bout de 5minutes (le serveur est bien ralentit pendant ce temps la).
Mon problème est que je ne vois pas comment l'optimiser.
Cette requête doit me renvoyer les dates ou ,au moins, un produit appartenant à la catégorie 183 a été acheté. L'utilisateur sélectionne le mois et l'année où la recherche doit s'effectuer.
Voici mon code en php :
if ($_POST['mois'] || $_POST['annee'])
{
$query = "SELECT distinct(DATE(o.date_purchased)) as maDate, DAY(o.date_purchased) as day, MONTH(o.date_purchased) as month, YEAR(o.date_purchased) as year ";
$query .= 'FROM ' . TABLE_ORDERS . ' o ';
$query .= ', ' . TABLE_ORDERS_PRODUCTS . ' op ';
$query .= ', ' . TABLE_PRODUCTS . ' p ';
$query .= ', ' . TABLE_PRODUCTS_TO_CATEGORIES . ' pc ';
$query .= ', ' . TABLE_CATEGORIES . ' c ';
$query .= 'where o.orders_id = op.orders_id ';
$query .= 'and op.products_id = p.products_id ';
$query .= 'and p.products_id = pc.products_id ';
$query .= 'and pc.categories_id = c.categories_id ';
$query .= 'and c.parent_id = 183 ';
if ($_POST['mois'])
{
$query .= 'and MONTH(o.date_purchased) = ' . $_POST['mois'] . ' ';
}
if ($_POST['annee'])
{
$query .= 'and YEAR(o.date_purchased) = ' . $_POST['annee'] . ' ';
}
$query .= 'order by DAY(o.date_purchased)';
$livre_array = tep_db_query($query);
$num_result = tep_db_num_rows($livre_array);
}
En espérant que vous pourrez m'aider, merci d'avance.
A voir également:
- Probleme exécution requête
- Le service spouleur d'impression local n'est pas en cours d'exécution - Guide
- Erreur d'exécution de la requete erreur inconnue ✓ - Forum PHP
- Il permet l’exécution des logiciels applicatifs et gère l’utilisation des ressources matérielles (mémoire, processeur, périphériques). ✓ - Forum Logiciels
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
- Problème de périphériques - Forum Pilotes (drivers)