|
ТаблицаЗначений НайтиСтроки() и индексы | ☑ | ||
---|---|---|---|---|
0
Rounder
27.11.13
✎
13:06
|
Есть таблица значений. К ней в цикле делается НайтиСтроки() с отбором по двум колонкам.
Так же в это цикле возможно добавление строк в таблицу значений при выполнении определенного условия. Добавленная строка автоматически индексируется? |
|||
1
exwill
27.11.13
✎
13:08
|
(0) Нет. В таблице значений строки вообще не индексируются.
Незачем. |
|||
2
exwill
27.11.13
✎
13:11
|
+(1) А нет. Сейчас посмотрел. Есть у таблиц значений индексы.
И чего только люди не придумают. |
|||
3
Rounder
27.11.13
✎
13:12
|
вопрос открыт - добавленная строка автоматически индексируется?
|
|||
4
х86
27.11.13
✎
13:12
|
>>Добавленная строка автоматически индексируется
а что есть еще какой-то способ? |
|||
5
dj_serega
27.11.13
✎
13:13
|
(0) Что значит "Индексируется"?
|
|||
6
Rounder
27.11.13
✎
13:15
|
Я не знаю есть ли еще какой способ, но проверял опытным путем.
Найти строки идет с отбором по обеим колонкам ТЗ (Колонка1, Колонка2). Без индексирования = 455с С индексом по (Колонка1, Колонка2) = 455с С двумя индексами (Колонка1), (Колонка2) = 455с Индексы создавались на пустую таблицу после ее создания. |
|||
7
Rounder
27.11.13
✎
13:16
|
(5) Нужно ли т.с. переиндексировать ТЗ после добавления строки.
|
|||
8
Rounder
27.11.13
✎
13:16
|
Т.е. в моих вариантах я индексированием не добился вообще никакого выигрыша по времени.
Возможно я что-либо делаю не так - т.к. впервые пытаюсь индексировать ТЗ. |
|||
9
hhhh
27.11.13
✎
13:17
|
(2) просто в 8.0 таблицы значений были неиндексированные. Поэтому закрытие месяца выполнялось от 2-х до 7-ми дней.
Самое главное нововведение в 8.1, прям исторический прорыв: появились индексы в таблицах значений. |
|||
10
Sammo
27.11.13
✎
13:17
|
Если индекс добавлен, то индексируются.
Если индекса нет, то не индексируются. Индекс ведь в ТЗ добавили? |
|||
11
DexterMorgan
27.11.13
✎
13:18
|
(8) Проиндексируй по колонкам отбора уже готовую таблицу
|
|||
12
Rounder
27.11.13
✎
13:19
|
(10) Да - как и написал в (6).
Но если все в порядке с индексами - почему нет выигрыша во времени? |
|||
13
Maxus43
27.11.13
✎
13:19
|
автоматически ничего не индексируется, если на ТЗ не навешан Индекс принудительно
|
|||
14
Rounder
27.11.13
✎
13:19
|
(11) не могу - почему написано в (0). После выполнения НайтиСтроки() возможно добавление строки. И что? После каждого добавления чистить и создавать новые индексы?
|
|||
15
Rounder
27.11.13
✎
13:20
|
(13) я ж написал что индекс навешивается принудительно но на пустую таблицу, после ее создания.
|
|||
16
Maxus43
27.11.13
✎
13:20
|
(14) запихни в ВТ индексированную, там отбор в запросе делай, должно быть быстрей всё
|
|||
17
Rounder
27.11.13
✎
13:20
|
Если это неправильно - то как тогда нужно сделать?
|
|||
18
Rounder
27.11.13
✎
13:21
|
(16) т.е. запрос к ВТ в цикле?
|
|||
19
Maxus43
27.11.13
✎
13:21
|
я не уверен что НайтиСтроки юзает индексы вобще, а ты уверен?
|
|||
20
Maxus43
27.11.13
✎
13:22
|
(18) проверь будет ли быстрей, а вобще ничо криминально не вижу, если оправданно по скорости
|
|||
21
Rounder
27.11.13
✎
13:22
|
(19) Не уверен. Но на форуме где-то видел такое предположение.
|
|||
22
Rounder
27.11.13
✎
13:22
|
(20) Ок - сча попробую.
|
|||
23
DexterMorgan
27.11.13
✎
13:26
|
(19) Найти и НайтиСтроки будет использовать индексы, если они есть
|
|||
24
Rounder
27.11.13
✎
13:27
|
(23) почему тогда нет выигрыша во времени?
|
|||
25
DexterMorgan
27.11.13
✎
13:27
|
||||
26
DexterMorgan
27.11.13
✎
13:28
|
(24) Походу заново нужно индексировать при добавлении строки
|
|||
27
hhhh
27.11.13
✎
13:30
|
(24) наверно не по тем полям проиндексировал.
|
|||
28
Maxus43
27.11.13
✎
13:31
|
(25) Ок
|
|||
29
DexterMorgan
27.11.13
✎
13:32
|
(27) Кстати да, если в отбор входит несколько полей, на комбинацию этих полей нужно сделать отдельный составной индекс
|
|||
30
Rounder
27.11.13
✎
13:33
|
В (6) я писал, что пробовал и с двумя отдельными индексами, и с одним составным - итог тот же.
|
|||
31
DexterMorgan
27.11.13
✎
13:34
|
(30) Если проиндексировать непосредственно перед самим отбором?
|
|||
32
Rounder
27.11.13
✎
13:35
|
Если индексировать в цикле - то вообще жуть получается.
|
|||
33
y22-k
27.11.13
✎
13:35
|
(23) ХЗ я делал таблицу около 4,5 К записей с индексом намного быстрее ищет значение
|
|||
34
Rounder
27.11.13
✎
13:35
|
Ах да. Вряди ли это меняет дело - но все же уточню: управляемые формы.
|
|||
35
Rounder
27.11.13
✎
13:38
|
(33) Вряд ли ты смоделировал мою ситуацию, где практически через итерацию в цикле добавляется еще одна строка к ТЗ.
|
|||
36
DexterMorgan
27.11.13
✎
13:38
|
(33) У него таблица может меняться после поиска.
(32) Я думаю нужно менять алгоритм тогда - например использовать неск тз (одна проиндексирована в другую добавляешь) |
|||
37
Rounder
27.11.13
✎
13:41
|
(36) Не выйдет, т.к. добавлять или нет решается по итогам поиска в ТЗ.
|
|||
38
GANR
27.11.13
✎
13:42
|
(0) Автоматически там ничего не индексируется v8: оптимизация поиска по структуре
|
|||
39
Rounder
27.11.13
✎
13:43
|
Пока всем спасибо.
Сча попробую с запросами - выложу результат сюда. Почитаю те ссылки, что вы дали. |
|||
40
hhhh
27.11.13
✎
13:43
|
(37) индексируй один раз. Или в самом начале, или в конце.
|
|||
41
Aprobator
27.11.13
✎
13:43
|
(35) сделай таблицу копию по структуре и добавляй строки в нее, потом скопируешь их с нее в основную.
|
|||
42
DexterMorgan
27.11.13
✎
13:44
|
(37) ищи по двум тз. По индексированной с куевой тучей и во второй где добавляешь.
В любом случае нужны замеры |
|||
43
DexterMorgan
27.11.13
✎
13:46
|
(41) У него проблема в том, что поиск используется при добавлении. т.е. все время нужно заново индексировать
|
|||
44
Rounder
27.11.13
✎
13:48
|
(20) С запросом вообще мрак - так что отпадает.
|
|||
45
hhhh
27.11.13
✎
13:49
|
(43) не, вроде при добавлении строчки, она индексируется.
|
|||
46
DexterMorgan
27.11.13
✎
13:50
|
(45) Если честно, я не проверял) но судя по (6) не индексируется
|
|||
47
hhhh
27.11.13
✎
14:03
|
(46) ну, ТС нельзя полностью доверять в таком вопросе. Может он в другом месте накосячил. Я-то всегда добавлял индекс при создании таблицы. И в синтакс-помощнике ничего нет про это. Что индексы таблицы значений отличаются от индексов в базе, например.
|
|||
48
Aprobator
27.11.13
✎
14:04
|
(43) а чего искать то, что ты только что добавил?
|
|||
49
Sammo
27.11.13
✎
14:06
|
Хотелось бы увидеть - как создается индекс и как делается отбор.
Прямо куски кода |
|||
50
H A D G E H O G s
27.11.13
✎
14:07
|
Жесть какая-то.
Все индексируется, при добавлении строки индексы обновляются. |
|||
51
H A D G E H O G s
27.11.13
✎
14:07
|
Каких то структур понапридумывали, в Запрос чето помещают.
|
|||
52
Ярус
27.11.13
✎
14:12
|
(50) +100
|
|||
53
catena
27.11.13
✎
14:18
|
(6)Вы не умеете готовить индексы.
Создаю индексы на пустую таблицу, заполняю, поиск. Без индекса 102.9, с индексом 0.09 http://i067.radikal.ru/1311/f6/c3ec531c722b.png |
|||
54
Salimbek
27.11.13
✎
14:18
|
(0) Не знаю, что там у тебя криво создается, я попробовал, трагедии не увидел.
http://yadi.sk/d/ZEXCoRRUDPiHn |
|||
55
Rounder
27.11.13
✎
14:25
|
Всем спасибо.
Подумал - перестрою алгоритм. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |