|
Условие в запросе при выборке основной таблицы регистра | ☑ | ||
---|---|---|---|---|
0
vi0
17.02.13
✎
18:03
|
А.П.Габец "Профессиональная разработка в системе 1с" 2006
стр.718 "выполнение такого запроса приведет к тому, что будут ВЫБРАНЫ все записи движений регистра, а затем путем перебора этих записей" Кто может объяснить, что значит "выбраны все записи"? Куда выбраны? Может быть это опечатка? http://s1.ipicture.ru/uploads/20130217/7qN0nBDH.gif |
|||
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 |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |