Je vais avoir du mal à obtenir de meilleurs résultats sur cette requête:mal l'optimisation d'une requête
Je les 2 tableaux suivants:
DROP TABLE IF EXISTS `casino`.`mutualfriends`;
CREATE TABLE `casino`.`mutualfriends` (
`CustUID` varchar(64) CHARACTER SET ascii NOT NULL,
`CustUID2` varchar(64) CHARACTER SET ascii NOT NULL,
`FType` tinyint(4) NOT NULL,
PRIMARY KEY (`CustUID`,`CustUID2`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `casino`.`customers`;
CREATE TABLE `casino`.`customers` (
`CustFullName` varchar(45) NOT NULL,
`CustEmail` varchar(128) NOT NULL,
`CustUID` varchar(64) CHARACTER SET ascii NOT NULL,
`CustMoney` bigint(20) NOT NULL DEFAULT '0',
`SmallPicURL` varchar(120) CHARACTER SET ascii DEFAULT '',
`LargePicURL` varchar(120) CHARACTER SET ascii DEFAULT '',
PRIMARY KEY (`CustUID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Le tableau des clients a des lignes 1M, des amis communs a 500K lignes. J'ai du mal à optimiser cette requête; il semble qu'il y ait une numérisation de table en l'utilisant. Je voudrais minimiser l'analyse:
SELECT c.CustUID AS Cuid, c.CustFullName, c.CustMoney, c.SmallPicURL
FROM `customers` c
WHERE c.`CustUID` = '1:1542073175'
UNION
SELECT m.`CustUID2` AS Cuid, c.CustFullName, c.CustMoney, c.SmallPicURL
FROM `mutualfriends` m, `customers` c
WHERE m.`CustUID` = '1:1542073175'
AND c.`CustUID` = m.`CustUID2`
UNION
SELECT m.`CustUID` AS Cuid, c.CustFullName, c.CustMoney, c.SmallPicURL
FROM `mutualfriends` m, customers c
WHERE m.`CustUID2` = '1:1542073175'
AND c.CustUID = m.`CustUID`
qu'est-ce que vous essayez exactement de faire? Essayez-vous d'obtenir une liste de tous les clients et de leurs amis communs? Ce n'est pas très clair avec votre code. – Ramy
Eh bien, ce que je fais est d'obtenir une liste de clients qui sont des amis communs avec un client dont son identifiant est: «1: 1542073175». les résultats de la requête sont corrects, mais ses performances sont médiocres, je cherche un moyen d'obtenir les mêmes résultats que la requête ci-dessus mais avec de meilleures performances – mysqldude