[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не отрабатывает индекс
Zzepish

CREATE TABLE `vehicles` (
`id` int(10) UNSIGNED NOT NULL,
`client_id` int(10) UNSIGNED NOT NULL,
`vehicleid` varchar(125) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0',
`deleted_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


ALTER TABLE `vehicles`
ADD PRIMARY KEY (`id`),
ADD KEY `vehicles_vehicleid_IDX` (`vehicleid`) USING BTREE;


ALTER TABLE `vehicles`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;COMMIT;


При попытке сделать такой запрос:
EXPLAIN SELECT * from vehicles WHERE vehicleid = 1

Выдает:
Цитата

id,"select_type","table",  "type","possible_keys",          "key","key_len","ref","rows","Extra"
1,  SIMPLE,        vehicles, ALL,    vehicles_vehicleid_IDX,      ,              ,      ,  44,    Using where


Не могу понять - почему не юзает индекс?
killer8080
видимо оптимизатор решил, что фулскан будет в данном случае работать быстрее, чем индекс.
depp
`vehicleid` varchar(125)
Zzepish
killer8080
Т.е. в идеале он должен будет заюзать индекс потом?

depp
Нифига не показатель
Valick
сколько записей в таблице?

_____________
Стимулятор ~yoomoney - 41001303250491
Zzepish
killer8080
Таки - да! Стало больше записей - начал юзать индекс. Спасибо
Zzepish
Valick
было 44, стало - 255

P.S. 500+
Valick
Zzepish, на будущее, делай тестовую таблицу хотя бы 100к записей

_____________
Стимулятор ~yoomoney - 41001303250491
Zzepish
Valick
Да я уже понял, спасибо
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.