Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Вопрос (Андрей) 19/12/2009 - 00:20:41



From: Андрей - 19/12/2009 - 00:20:41
Subject:Вопрос
-----------------
Допустим, в MySQL есть две таблицы Table1 и Table2 с одинаковым списком полей:

ID1 int(11) NOT NULL default 0,
ID2 int(11) NOT NULL default 0,
ID3 int(11) NOT NULL default 0,
Value varchar(255) NOT NULL default


В обеих таблицах по миллиону записей; значения полей ID1, ID2, ID3 равномерно распределены между 0 и 1000; ключей в таблицах нет.

Эти таблицы участвуют только в запросе вида:

SELECT
T1.ID3,
COUNT(*),
COUNT(DISTINCT T1.ID1,T1.ID2),
SUM(T1.ID1+T2.ID2),
CONCAT(T1.Value,T2.Value)

FROM Table1 T1

INNER JOIN Table2 T2 USING(ID1,ID3)

WHERE T1.ID2 BETWEEN 600 AND 700

AND T1.ID1 & 3 = 0

AND T2.ID3 BETWEEN 600 AND 700

GROUP BY T1.ID3



Какие индексы оптимальнее создать для таблиц Table1 и Table2?
alter table Table1 add key (ID1);
alter table Table1 add key (ID2);
alter table Table1 add key (ID3);
alter table Table1 add key (ID1,ID3);
alter table Table1 add key (ID1,ID2);
alter table Table2 add key (ID1);
alter table Table2 add key (ID2);
alter table Table2 add key (ID3);
alter table Table2 add key (ID1,ID3);



[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
36568



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |