2012-03-23 133 views
1


我想問有關索引2個問題在MySQL:
1.是有可能有在MyISAM中發動機類型 HASH的指數?
2.是否有可能在計算值上創建索引,例如,
MySQL的複雜的索引

CREATE INDEX AD_MAIN_CATEGORY ON ad ((category_id % 100) ASC) USING BTREE;


我有查詢選擇所有類別和計數在主/副類別的廣告數量。每個廣告只有subcategory_id可以計算main_category_id(subcategory_id = 120 => main_category_id = 100)。邪惡(慢)查詢:

SELECT `c`.*, (SELECT COUNT(*) FROM ad WHERE IF(c.parent_id = 0,(ad.category_id DIV 100) * 100 = c.id,ad.category_id=c.id)) AS `count`, `ct`.`label` FROM `category` AS `c` INNER JOIN `category_translation` AS `ct` ON c.id = ct.category_id WHERE (ct.language_id = 1) ORDER BY `c`.`id` ASC

回答