У меня есть две таблицы с одинаковой структурой данных, за исключением того, что одна имеет первичный ключ для столбца, а другая - не .
Дело в том, что запрос к таблице с первичным ключом выполняется в среднем в 6-10 раз медленнее , чем без первичного ключа.
Стол без ПК
CREATE TABLE `ULRCON01`
(
`CONSTAC` VARCHAR ( 7 ) NOT NULL,
`DATCRED` VARCHAR ( 8 ),
`DATMAJD` VARCHAR ( 8 ),
`MONTANM` DECIMAL ( 19 ),
`CONSTLC` VARCHAR ( 10 ),
`CONSTLL` VARCHAR ( 35 ),
);
Стол с ПК
CREATE TABLE `ULRCON01`
(
`CONSTAC` VARCHAR ( 7 ) NOT NULL,
`DATCRED` VARCHAR ( 8 ),
`DATMAJD` VARCHAR ( 8 ),
`MONTANM` DECIMAL ( 19 ),
`CONSTLC` VARCHAR ( 10 ),
`CONSTLL` VARCHAR ( 35 ),
PRIMARY KEY(`CONSTAC`)
);
Запрос
SELECT CONSTLC FROM ULRCON01 WHERE CONSTAC LIKE 'SIRCA00'
И результаты ..
// PK on CONSTAC
Request "SELECT CONSTLC FROM ULRCON01 WHERE CONSTAC LIKE 'SIRCA00'" executed in 10ms
// No PK
Request "SELECT CONSTLC FROM ULRCON01 WHERE CONSTAC LIKE 'SIRCA00'" executed in 1ms
Я просто не понимаю .. Почему первичный ключ замедляет простой выбор места запроса ... Есть идеи?