Необходимо оптимизировать запрос с объединением двух таблиц с группировкой по году

Камал
Дата: 04.02.2013 08:22:11
Что можно сделать в данной ситуации с запросом или с таблицами?

--
-- Структура таблицы `5c_access`
--

CREATE TABLE IF NOT EXISTS `5c_access` (
`tab_num_staff` int(10) unsigned NOT NULL,
`tab_num_boss` int(10) unsigned NOT NULL,
`level` tinyint(1) unsigned NOT NULL,
`date` date NOT NULL,
`date2` date NOT NULL,
PRIMARY KEY (`tab_num_staff`,`tab_num_boss`,`level`,`date`,`date2`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

-- --------------------------------------------------------

--
-- Структура таблицы `or_td_description_value`
--

CREATE TABLE IF NOT EXISTS `or_td_description_value` (
`tab_num` int(10) unsigned NOT NULL COMMENT 'табельный номер',
`id_tdd` int(10) unsigned NOT NULL COMMENT 'id найменовании столбцов в файле',
`value` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`td_k` varchar(10) COLLATE utf8_unicode_ci NOT NULL COMMENT 'коэфицент',
`reg_num` int(11) NOT NULL,
`date` date NOT NULL COMMENT 'Дата расчета',
`date_create` date NOT NULL COMMENT 'Дата загрузки',
PRIMARY KEY (`tab_num`,`id_tdd`,`td_k`,`reg_num`,`date`,`date_create`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Akina
Дата: 04.02.2013 09:25:37
Если в таблице or_td_description_value менее 100 млн. записей - сделать НИЧЕГО нельзя. Если больше - есть смысл форсить индекс.
Akina
Дата: 04.02.2013 09:31:02
А, стоп... не посмотрел...

Есть смысл удалить запрос по причине его полного [censored]. Ибо смысл его текста таков:

Для tab_num_boss=656 выбрать для каждого года, встречающегося в таблице or_td_description_value хотя бы один раз, выбрать одну случайную дату этого года, за последние 30 встречающихся в таблице лет.
Камал
Дата: 04.02.2013 09:36:11
Запрос возвращает 4 записи
Akina
Дата: 04.02.2013 09:40:43
Значит, в таблице есть записи за 4 года. Но больше смысла от этого в нём не стало...
MasterZiv
Дата: 04.02.2013 11:47:17
Должно быть
Select year (t1.date), ...
javajdbc
Дата: 04.02.2013 17:15:32
Камал,

-- попробуйте своими словами сказать что вы хотите в результате.
Типа: "Надо выбрать тото-и-тото при условии что....."

-- а в чем собствено проблема?