|
|
|
| Создал таблицу в котором есть поле с типом DateTime. Построил индекс по этому полю и по другим.
При выборке, построение плана запроса участвуют только индексы по другим полям, а по полю DateTime - индекс неработает. В чем может быть проблема?
CREATE TABLE `TableName` (
`ID` int(11) NOT NULL auto_increment,
`A2` varchar(2) NOT NULL,
`A1` varchar(6) NOT NULL,
`DateTimeLoad` datetime NOT NULL,
`Pokazatel_Id` int(11) NOT NULL,
`Value` int(11) default NULL,
PRIMARY KEY (`ID`),
KEY `IndexA1` (`A1`),
KEY `IndexPok` (`Pokazatel_Id`),
KEY `IndexA2` (`A2`),
KEY `IndexDate` (`DateTimeLoad`)
) ENGINE=InnoDB AUTO_INCREMENT=563042 DEFAULT CHARSET=cp1251;
InnoDB, MySql 5.0.45 | |
|
|
|
|
|
|
|
для: klow
(18.10.2007 в 12:29)
| | А запрос на выборку как выглядит? | |
|
|
|
|
|
|
|
для: cheops
(18.10.2007 в 12:58)
| | SELECT MAX(DateTimeLoad) FROM TableName
SELECT count(id) FROM TableName WHERE DateTimeLoad>'2007-10-1' | |
|
|
|
|
|
|
|
для: Klow
(18.10.2007 в 13:13)
| | а если указать и время?
ты же указываешь формат date а не datetime
datetime смотрится так 2007-10-18 16:02:22 + учитывай то что при запросе есть пробел | |
|
|
|
|
|
|
|
для: vbps
(19.10.2007 в 17:07)
| | почему тогда этот не работает
SELECT MAX(DateTimeLoad) FROM TableName | |
|
|
|
|
|
|
|
для: Klow
(18.10.2007 в 13:13)
| | - | |
|
|
|
|
|
|
|
для: klow
(18.10.2007 в 12:29)
| | изменил DateTime на Date - результат тот же, вернее ни какого. Индексы не работаю. | |
|
|
|
|
|
|
|
для: Klow
(22.10.2007 в 16:26)
| | 2007-10-01 | |
|
|
|
|
|
|
|
для: vbps
(24.10.2007 в 16:31)
| | >2007-10-01
так работает. :)
Но почему по функциям max и min не используется индекс?
SELECT MAX(DateTimeLoad) FROM TableName | |
|
|
|
|
|
|
|
для: klow
(24.10.2007 в 19:15)
| | А как поменять, чтобы было 12:33 21.04.2007? меняю в phpmyadmin, но он сбрасывает на стандарт. спасибо! | |
|
|
|
|
|
|
|
для: Duke
(26.10.2007 в 19:14)
| | Не надо менять формат - просто форматируйте дату с помощью функции DATE_FORMAT() при выборке из таблицы
SELECT DATE_FORMAT(putdate,'%H:%i' %d-%m-%Y') AS putdate_print FROM tbl
|
PS Под новые вопросы лучше заводить новые темы. | |
|
|
|
|
|
|
|
для: cheops
(27.10.2007 в 10:44)
| | спасибо) | |
|
|
|