низкая эффективность индекса в таблице

kopipast

Новичок
низкая эффективность индекса в таблице

Суть проблемы в том, что составление индекса влияет на скорость выборки очень незначительно и почему-то в худшую сторону... Помогите, пожалуйста разобраться.

Структура таблицы (в ней 50.000 записей):

CREATE TABLE `t1` (
`RowId` int( 10 ) unsigned NOT NULL AUTO_INCREMENT ,
`Status` int( 1 ) NOT NULL default '0',
`User` varchar( 20 ) NOT NULL default '',
`Gruppa` varchar( 10 ) NOT NULL default '',
`Data` varchar( 20 ) NOT NULL default '',
PRIMARY KEY ( `RowId` )
) ENGINE = MYISAM DEFAULT CHARSET = cp1251;

копируется в таблицу t2 и добвляется индекс: ALTER TABLE t2 ADD INDEX (User);


Результаты выборки:

SELECT * FROM t1 WHERE USER=4333461384270210 -- 0.06 с.
SELECT * FROM t2 WHERE USER=4333461384270210 -- 0.06 с.
(всего строк выбирается 265)

SELECT * FROM t1 WHERE USER=4333461384270210 LIMIT 250, 10 -- 0.06 с.
SELECT * FROM t2 WHERE USER=4333461384270210 LIMIT 250, 10 -- 0.06 с.

SELECT * FROM t1 ORDER BY USER LIMIT 49000, 10 -- 0.39 с.
SELECT * FROM t2 ORDER BY USER LIMIT 49000, 10 -- 0.3 с.

SELECT * FROM t1 ORDER BY USER LIMIT 0, 10 -- 0.28 с.
SELECT * FROM t2 ORDER BY USER LIMIT 0, 10 -- 0.0005 с.

SELECT * FROM t1 LIMIT 49000, 10 -- 0.045 с.
SELECT * FROM t2 LIMIT 49000, 10 -- 0.045 с.

SELECT * FROM t1 LIMIT 0, 10 -- 0.0015 с.
SELECT * FROM t2 LIMIT 0, 10 -- 0.0015 с.

Версия сервера: 4.1.20
Мануал читал, но буду рад получить ссылки на информацию по этому вопросу.
Заранее благодарен.
 

Gas

может по одной?
3, 5 и 6-ая пары запросов сильно и не должны отличаться.
Попробуй взять 4333461384270210 в кавычки.

Ну и стандартно, попробуй optimize table и смотри что говорит explain.
 

kopipast

Новичок
Вот, блин, досада... Дело в кавычках было. Стало отрабатывать
SELECT * FROM t2 WHERE USER="4333461384270210" за 0,004 секунды.
Премного благодарен!
 
Сверху