|
![]() |
#1 |
Moderator
|
Я просто замечу что две первых рекомендации не всегда выполнимы. Если разносится большой документ, то на короткие транзации это не порезать. Кроме того - покрывающий индекс на каждую возможную комбинацию полей в where тоже не всегда доступен. Кроме того, как я уже написал, время от времени (особенно на квазивременных таблицах типа InventSumDeltaDim), SQL Server переглючивает и он выбирает неправильный индекс, даже если правильный покрывающий индекс присутствует.
|
|
![]() |
#2 |
Участник
|
Цитата:
Сообщение от fed
![]() Я просто замечу что две первых рекомендации не всегда выполнимы. Если разносится большой документ, то на короткие транзации это не порезать. Кроме того - покрывающий индекс на каждую возможную комбинацию полей в where тоже не всегда доступен. Кроме того, как я уже написал, время от времени (особенно на квазивременных таблицах типа InventSumDeltaDim), SQL Server переглючивает и он выбирает неправильный индекс, даже если правильный покрывающий индекс присутствует.
![]() |
|
|
За это сообщение автора поблагодарили: ax_mct (3). |
![]() |
#3 |
Участник
|
Цитата:
Цитата:
![]() Подобный вопрос обычно задавали при завершении стажировки в Коламбусе - какой вариант быстрее 1 или 2 X++: CustTable custTable; ; //1 select AccountNum from custTable where custTable.AccountNum == "C-0000101"; custTable = null; //2 custTable = custTable::find("C-0000101"); |
|
![]() |
#4 |
Участник
|
|
|
![]() |
#5 |
Banned
|
|
|
![]() |
#6 |
Banned
|
Цитата:
Сообщение от trud
![]() Ага, именно это и посыл поста, используем только когда нужно
Вы реально не знаете или это просто флуд? ![]() Подобный вопрос обычно задавали при завершении стажировки в Коламбусе - какой вариант быстрее 1 или 2 X++: CustTable custTable; ; //1 select AccountNum from custTable where custTable.AccountNum == "C-0000101"; custTable = null; //2 custTable = custTable::find("C-0000101"); |
|
![]() |
#7 |
Участник
|
Цитата:
![]() |
|
|
За это сообщение автора поблагодарили: trud (1). |
![]() |
#8 |
Участник
|
А вот тут можно подробнее, почему одинаково (пусть это уже и оффтоп)?
Вроде в случае когда у нас указан набор полей, у нас меньше количество данных передаваемых между клиентом-сервером, и поэтому работать должно быстрее? Best practicies опять же, настаивают именно на варианте "укажите в запросе конкретные нужные вам поля" |
|
![]() |
#9 |
Участник
|
Цитата:
Цитата:
А если переменную назвать не "custTable", а "с" будет быстрее? (сорри за стеб) А есть ссылка? |
|
![]() |
#10 |
Участник
|
"Попробуйте использовать список полей для выбора inventJournalTrans. Использовано только 2% размера записи."
Метка @SYS91289 используемая в SysBPCheckMemberFunction.checkUseOfFieldLists() с коментарием в коде //Less than half the bandwidth of fields are used Такая ссылка устроит? |
|
![]() |
#11 |
Участник
|
![]() Цитата:
Сообщение от Pandasama
![]() А вот тут можно подробнее, почему одинаково (пусть это уже и оффтоп)?
Вроде в случае когда у нас указан набор полей, у нас меньше количество данных передаваемых между клиентом-сервером, и поэтому работать должно быстрее? Best practicies опять же, настаивают именно на варианте "укажите в запросе конкретные нужные вам поля" Видимо вам надо в коламбус на месяцок, подтянуть основы на стажеровочке ![]() Последний раз редактировалось skuull; 01.02.2019 в 08:42. |
|
![]() |
#12 |
Модератор
|
Цитата:
Цитата:
Best practicies опять же, настаивают именно на варианте "укажите в запросе конкретные нужные вам поля
trud, в Вашем примере сделано все (малый объем данных, выборка по непокрывающему индексу, диалог в транзакции) чтобы найти хоть какой-то сценарий в котором update_recordset работает хуже. Как пища для размышлений - да, годно. Насколько в реальных условиях несколько конкурентных update_recordset, на реальных объемах данных, завернутых в правильную обработку deadlock-ов, будут быстрее или медленнее (хотя бы в T2) - вот это уже было бы гораздо интереснее. Как Вы считаете? ![]()
__________________
-ТСЯ или -ТЬСЯ ? Последний раз редактировалось Vadik; 01.02.2019 в 10:34. |
|
|
За это сообщение автора поблагодарили: skuull (5). |
![]() |
#13 |
Участник
|
Цитата:
![]() Последний раз редактировалось skuull; 01.02.2019 в 09:53. |
|
![]() |
#14 |
Участник
|
Цитата:
Сообщение от Vadik
![]() trud, в Вашем примере сделано все (малый объем данных, выборка по непокрывающему индексу, диалог в транзакции) чтобы найти хоть какой-то сценарий в котором update_recordset работает хуже. Как пища для размышлений - да, годно. Насколько в реальных условиях несколько конкурентных update_recordset, на реальных объемах данных, завернутых в правильную обработку deadlock-ов, будут быстрее или медленнее (хотя бы в T2) - вот это уже было бы гораздо интереснее. Как Вы считаете?
![]() |
|