У вас один item может иметь отношение с несколькими brand? Если нет тогда линк на бренд в таблицу Item перенести и отказаться от вспомогательной таблицы.
Далее какие индексы на таблице Item присутствуют?
Какой размер у индексов, какие поля Вы включили в индекс?
Если там помимо этого еще хватает таблиц то кеш индексов может переполняться и закешированный с диска индекс вылетит из памяти, и будет при таком обращении перечитываться с диска, а тут уже зависит от скорости диска и размера индекса.
Сделайте EXPLAIN SELECT brand.*, count(*) FROM brand .... на Ваш запрос, посмотрите что происходит....