Ben sorgularda Gereksiz gecikmeleri kesmeye bir web uygulaması profilleme ediyorum EXPLAIN kullanarak, geçici kullanarak almak MySql üzerinde optimizasyonu ile sıkışmış ve ben basit gibi görünüyor tane buldum ama almak yürütmek için çok zaman.dosya sıralama ... mesajlar
SELECT `bt`.`id_brand`
FROM `brands_translation` AS `bt`
WHERE bt.code_language = 'es'
GROUP BY `bt`.`id_brand`
ORDER BY `bt`.`name` ASC
Ve tablo tanımı:
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;
Ben dizinleri oluşturarak bunu çözmeye Bu sorgu ise
Using where; Using temporary; Using filesort
:
Kullanılması Ben şu mesajları almak AÇIKLAYINIZ Sonuçta olmayan her alan için.
Bununla ilgili bir fikrin var mı? Uygun bir INDEX
ile peşin
Cevabınız için teşekkürler! Çözüm için yeni yollar açar. Mesele şu ki, isme göre sıralamaya çalışıyorum ve bu örnekte, sipariş önce id_brand tarafından yapılmıştır. –