powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / При добавлении поля в WHERE увеличивается время получения
3 сообщений из 3, страница 1 из 1
При добавлении поля в WHERE увеличивается время получения
    #39797856
petruha1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день
Есть таблица
CREATE TABLE `account` (
`aid` int(11) NOT NULL,
`value1` DOUBLE NOT NULL DEFAULT 0,
`value2` DOUBLE NOT NULL DEFAULT 0,
`date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'
) ENGINE=InnoDB
ALTER TABLE `account` ADD UNIQUE KEY `aid` (`aid`);

В таблице 10 млн строк

Если я делаю запрос
SELECT * FROM `account` WHERE `value1` >= 198.74299 AND `value1` <= 258.7609 AND `value2` >= 455.627680 AND `value2` <= 895.641954
запрос занимает менее 0.1 секунды
Но если добавить к выбору еще поле `date`:
SELECT * FROM `account` WHERE `value1` >= 198.74299 AND `value1` <= 258.7609 AND `value2` >= 455.627680 AND `value2` <= 895.641954 AND `date` >= '2019-04-07 11:44:00'
то запрос занимает около 1.8 секунд!
Причем если делать выбор просто по полю `date` то запрос очень быстрый
SELECT * FROM `account` WHERE `date` >= '2019-04-07 11:44:00'
занимает около 0.1 секунды

Почему добавление AND `date` >= '2019-04-07 11:44:00' приводит к такому резкому замедлению?
Я пытался делать выбор таким форматом AND `date` >= 20190407114400 но это существенно не увеличивает скорости (причем я заметил во время тестов, что выбор по такому формату `date` >= 20190407114400 сам по себе работает очень быстро)
...
Рейтинг: 0 / 0
При добавлении поля в WHERE увеличивается время получения
    #39801158
Фотография Megabyte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изучайте команду explain для просмотра плана запроса.
...
Рейтинг: 0 / 0
При добавлении поля в WHERE увеличивается время получения
    #39801217
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petruha1980Я пыталсяПростите, а индексировать таблицу Вы не пытались?
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / При добавлении поля в WHERE увеличивается время получения
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]