Теоретически, если у вас был индекс по категории И таблица была достаточно большой И индекс выборочный, тогда
Cost for 1st as baseline = N
Cost of 2nd = 2 x N
Cost of 3rd = 3 x N
Если индекс отсутствует или индекс недостаточно избирателен (например, категория = 1 покрывает 10% таблицы), тогда он выполнит сканирование таблицы. Если таблица маленькая, она даже не потрудится использовать индекс. В каком случае
Cost of 1st as baseline = N + X
Cost of 2nd = N + 2X
Cost of 3rd = N + 3X
Причина в том, что полное сканирование таблицы стоит N. Во время сканирования он будет использовать X-разовую выборку всей строки (select *
), поэтому в обработке большего количества категорий требуется немного больше, но это не так. значительно влияет на базовое время, необходимое для сканирования таблицы.