|
Условие в запросе при выборке основной таблицы регистра |
☑ |
0
vi0
17.02.13
✎
18:03
|
А.П.Габец "Профессиональная разработка в системе 1с" 2006
стр.718
"выполнение такого запроса приведет к тому, что будут ВЫБРАНЫ все записи движений регистра, а затем путем перебора этих записей"
Кто может объяснить, что значит "выбраны все записи"? Куда выбраны? Может быть это опечатка?
|
|
1
sanja26
17.02.13
✎
18:08
|
будут выбраны в память...)
|
|
2
MrStomak
17.02.13
✎
18:14
|
Запрос имеет план выполнения. Выделенное действие - это полный скан таблицы, т.е. для получения результата будет наложена блокировка на всю таблицу, последовательно будут обойдены все строки таблицы и к каждой строке будет применяться условие. Это, начиная с определенной селективности условия, очень замедляет выполнение запроса.
|
|
3
vi0
17.02.13
✎
18:17
|
согласен, но текст книги несколько иначе это описывает: сначала выбираем все записи, потом путем их перебора ...
|
|
4
rphosts
17.02.13
✎
18:21
|
(0) значит что т.к. измерение Склад не индексированно - для выполнения этого запроса бдет польностью прочитана таблица движений регистра с дискового накопителя
|
|
5
MrStomak
17.02.13
✎
18:24
|
(3) ну на уровне SQL так и будет.
|
|
6
vi0
17.02.13
✎
18:26
|
(5) записи будут выбраны куда?
мне кажется, более правильная формулировка будет "выполнение такого запроса приведет к тому, что будут заблокированы все записи движений регистра, а затем путем перебора этих записей.."
|
|
7
rphosts
17.02.13
✎
18:27
|
(6) при чтнии не происходит блокировки таблицы.
|
|
8
rphosts
17.02.13
✎
18:27
|
(6) прочитаны в память
|
|
9
MrStomak
17.02.13
✎
18:29
|
(7) о каком уровне изоляции транзакций говорим?
|
|
10
rphosts
17.02.13
✎
18:34
|
(9) кста, да, есть варианты
|
|
11
vi0
18.02.13
✎
12:33
|
(8) что значит прочитаны в память? а если в регистре данные за несколько лет?
|
|
12
Тролль главный
18.02.13
✎
12:40
|
насчет блокировки всей таблицы это еще проверить надо
|
|
13
Defender aka LINN
18.02.13
✎
12:54
|
(11) Полагаешь, SQL-серверу есть дело до того, что в таблице лежит и за какой период?
|
|
14
vi0
18.02.13
✎
13:32
|
нет, я имею ввиду, что было бы странно если при выполнении такого запроса sql выбирал бы все данные в какой-то промежуточный буфер
ВЫБРАТЬ
Поле1
ИЗ
Таблица1
ГДЕ
Поле2 = &Поле2
|
|