J'ai 2 tables
1) "produits" avec des champs (ProductID PK, nom, description, prix)
2) "ventes" avec des champs (salesid PK, salestime, ProductID, CustomerName, customerEmail , état)
mysql joindre problème de requête
je dois afficher les données sous forme de tableau comme
SalesID Nom du produit Montant Nom du client Adresse client Payment Status
Pour cela, je me sers requête suivante
SELECT s.salesid, p.name, p.price, s.customername, s.customeremail, s.status
FROM sales s
LEFT JOIN products p ON s.productid = p.productid
ORDER BY salestime DESC
LIMIT 0, 15
Est-il possible d'optimiser cette requête pour qu'elle s'exécute plus rapidement?
'JOINs et' ORDER BY' sont où vous verrez un ralentissement, mais si vous les modifiez, vous ne récupérerez pas les données que vous voulez, dans l'ordre que vous voulez. La requête me semble bonne, mais un index sur les colonnes 'salestime' et' product_id' permettrait probablement d'accélérer un peu les choses. En outre, pouvez-vous stocker cette requête en tant que vue ou procédure stockée? Lorsqu'un SQL est appelé, le serveur doit compiler le code SQL, puis l'exécuter. Quand il est appelé à partir d'une vue ou stocké proc, il est précompilé par le serveur, ce qui pourrait sauver quelques millisecondes de plus .. – bakoyaro