powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Проход по всем строкам таблицы не взерая на индекс
6 сообщений из 6, страница 1 из 1
Проход по всем строкам таблицы не взерая на индекс
    #39582501
Дано:
таблица transaction со структурой скриншот структуры

в таблице 563663 строки за период с 2017-10-01 по 2018-01-10

отдельный индекс moeny_by_billing: project_has_billing_system_id, created, transaction_money

запрос
Код: plsql
1.
2.
3.
4.
5.
SELECT SUM(transaction_money) AS transaction_money, project_has_billing_system_id
FROM `transaction`
WHERE created between '2017-12-21 00:00:00' AND '2018-01-11 23:59:00'
GROUP BY project_has_billing_system_id
having transaction_money > 10000



Почему MySQL все равно проходится по всем строкам в таблице?

EXPLAIN

"id": 1,
"select_type": "SIMPLE",
"table": "transaction",
"type": "index",
"possible_keys": "transaction-created",
"key": "money_by_billing",
"key_len": "14",
"ref": null,
"rows": 564159,
"Extra": "Using where; Using index"

Индекс подхватился, но MySQL все равно сканирует всю таблицу

Пробовал так же для дат в WHERE приведение к типу через STR_TO_DATE, но результат тот-же - просматривается вся таблица.

В чем может быть проблема?
...
Рейтинг: 0 / 0
Проход по всем строкам таблицы не взерая на индекс
    #39582506
Антон Бутков,

а сколько всего строк в таблице? индексы, обычно, используются, если выбирается относительно небольшой процент строк от общего объема...
...
Рейтинг: 0 / 0
Проход по всем строкам таблицы не взерая на индекс
    #39582509
в таблице 563663 строки
...
Рейтинг: 0 / 0
Проход по всем строкам таблицы не взерая на индекс
    #39582513
извиняюсь, сейчас уже 564159
...
Рейтинг: 0 / 0
Проход по всем строкам таблицы не взерая на индекс
    #39582516
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Антон БутковВ чем может быть проблема?А индекс тупо не подходит для оптимизации запроса, и просто используется как покрывающий.
Поставьте в индексе поле даты на первое место...
...
Рейтинг: 0 / 0
Проход по всем строкам таблицы не взерая на индекс
    #39582529
Akina, действительно, не заметил, большое спасибо!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Проход по всем строкам таблицы не взерая на индекс
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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