Webアプリケーションをプロファイリングして、不要な遅延を削減しようとしましたが、実行のための多くの時間。MySqlの最適化に悩まされ、ファイルソートを使用して一時的に使用しています。EXPLAINのメッセージ
SELECT `bt`.`id_brand`
FROM `brands_translation` AS `bt`
WHERE bt.code_language = 'es'
GROUP BY `bt`.`id_brand`
ORDER BY `bt`.`name` ASC
とテーブル定義:
CREATE TABLE IF NOT EXISTS `brands_translation` (
`id_brand` int(64) unsigned NOT NULL,
`code_language` varchar(3) NOT NULL,
`name` varchar(128) NOT NULL,
`link` varchar(255) default NULL,
`logo` varchar(255) default NULL,
`description` text NOT NULL,
KEY `id_brand` (`id_brand`),
KEY `code_language` (`code_language`),
KEY `name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
私はインデックスを作成、それを解決しようとする。これは、クエリで
Using where; Using temporary; Using filesort
:
使用して、私は次のメッセージを取得するEXPLAIN結果のない関連するすべてのフィールドについて
これは何ですか?適切なINDEX
で事前
ご回答いただきありがとうございます。これは、ソリューションへの新しい方法を開きます。私が名前でソートしようとしているのは、この例では、id_brandが最初に順序付けを行うことです。 –