Имя: Пароль:
1C
 
Имеет ли смысл индексирование булевной колонки таблицы значений?
0 SeiOkami
 
16.08.16
14:35
Добрый день
Подскажите, есть ли смысл в том, чтобы в ТЗ добавлять индекс колонки булевного типа? Имеет ли вообще смысл в индексации по булеву?
1 H A D G E H O G s
 
16.08.16
14:36
Че бы нет?
2 butterbean
 
16.08.16
14:36
если только ее одну, то наверно нет смысла
3 H A D G E H O G s
 
16.08.16
14:37
Если конечно нет равномерного распределения по Истина/Ложь
Например 50% записей - Истины по данной колонки, 50% - Ложь - тогда не стоит.
10% и 90% - стоит
4 SeiOkami
 
16.08.16
14:37
(1), слышал мнение, мол индексация булева бесполезна. Решил узнать мнение мистян
5 SeiOkami
 
16.08.16
14:38
(3), конкретно в моём примере скорее даже 1 к 99 будет
6 H A D G E H O G s
 
16.08.16
14:38
(5) Ты будешь эти 1 из 99 искать?
7 Garykom
 
гуру
16.08.16
14:42
(3) >Например 50% записей - Истины по данной колонки, 50% - Ложь - тогда не стоит.

Ускорение выборки на порядки этого мало?
8 SeiOkami
 
16.08.16
14:42
(6), не совсем. Нужно будет разделять одну ТЗ на две. Сейчас делаю два раза Скопировать() (с Ложь и с Истина)
9 H A D G E H O G s
 
16.08.16
14:45
(8) 1 раз? Забей!
10 SeiOkami
 
16.08.16
14:45
(6), (8), в принципе, можно заменить на одно копирование дополнив его циклом с удалением из общей таблицы 1% строк
11 SeiOkami
 
16.08.16
14:45
(9), просто строк в ТЗ 2-3 млн. Пользы индекс не даст?
12 hhhh
 
16.08.16
14:45
(7) чего это на порядки? В 2 раза ускорит. В среднем.
13 Garykom
 
гуру
16.08.16
14:47
(12) Неа в случае выборки идет перебор в цикле по условию. А если есть индекс то тупо берутся записи с нужными номерами.

Но с учетом что поддержание индекса тормозит работу с данными в ТЗ то в среднем может быть даже хуже.
14 H A D G E H O G s
 
16.08.16
14:52
(11) нет
15 SeiOkami
 
16.08.16
15:03
(14), спасибо