Я выполняю очень простой запрос по проиндексированному столбцу в таблице строк объемом 20 млн.
select * from prvol where date = '20100203';
Это занимает около 22 секунд.Я новичок в SQL, но думаю, что индексированный столбец должен быть быстрее, чем этот.Там нет проблемы с памятью.Кроме того, вывод говорит, что время в основном в сети.Я выполняю запрос на той же машине, на которой работает сервер.
/* 0 rows affected, 6,882 rows found. Duration for 1 query: 0.828 sec. (+ 21.438 sec. network) */
Что означает это сетевое время?Вы ожидаете, что этот запрос будет выполняться быстрее?
РЕДАКТИРОВАТЬ: в соответствии с запросом, вот некоторые результаты.
EXPLAIN SELECT * FROM prvol WHERE date = '20100203';
"id","select_type","table","type","possible_keys","key","key_len","ref","rows","Extra"
"1","SIMPLE","prvol","ref","Index 1","Index 1","4","const","6881","Using where"
SHOW CREATE TABLE prvol;
"Table","Create Table"
"prvol","CREATE TABLE `prvol` (
`exch` varchar(10) DEFAULT NULL,
`ticker` varchar(10) DEFAULT NULL,
`date` date DEFAULT NULL,
`open` float unsigned DEFAULT NULL,
`high` float unsigned DEFAULT NULL,
`low` float unsigned DEFAULT NULL,
`close` float unsigned DEFAULT NULL,
`vs` float unsigned DEFAULT NULL,
`aclose` float DEFAULT NULL,
KEY `Index 1` (`date`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1"