03.05.2011, 06:15 | #1 |
Участник
|
axdaily: SQL temporary tables in AX 2012
Источник: http://axdaily.blogspot.com/2011/05/...n-ax-2012.html
============== In AX 2012 a new type of tables was introduced. In addition to Regular (permanent) tables and InMemory tables (known as temporary tables in previous versions of AX) we have got TempDB tables - SQL server temporary tables. I believe thit is the feature that many people expected for a long time. TempDB tables utilize the power of SQL tables - full support of joins, aggregation, indexes, all with great performance, but in the same time they have almost the same scoping mechanism as InMemory temporary tables have. That simplifies developer's life significantly. There is no more need to be aware of tricks like this or like this. Источник: http://axdaily.blogspot.com/2011/05/...n-ax-2012.html
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
03.05.2011, 09:52 | #2 |
MCT
|
Хотелось бы по подробнее узнать про реализацию InMemory и TempDB. На каком уровне создаются, как хранятся (это еще можно предположить), срок жизни, специфика использования и так далее.
__________________
Axapta book for developer |
|
04.05.2011, 01:15 | #3 |
Участник
|
InMemory это точно то же самое, что временная таблица в АХ 2009. Вроде бы ничего там не меняли.
TempDB таблицы хранятся в системной базе данных tempdb на SQL сервере. Создаются при первом обращении к буферу на чтение или запись. Очищаются когда на них нет ссылок (точно так же, как InMemory). По использованию - TempDB должно быть лучше чем InMemory в большинстве случаев. Так как быстрее и нету специфических приколов характерных для InMemory таблиц. Честно говоря, даже трудно придумать где InMemory будут лучше. Где-нибудь где важно чтоб данные находились на клиенте. |
|
04.05.2011, 08:37 | #4 |
MCT
|
Непонятно, почему TempDB и в каких случаях лучше?
Что будет с передачей данных таблицы с одного уровня на другой, есть ли сжатие данных при передаче? Вопросов на самом деле очень много.
__________________
Axapta book for developer |
|
04.05.2011, 08:57 | #5 |
Модератор
|
Вероятно, за счет
Цитата:
full support of joins, aggregation, indexes
Цитата:
Честно говоря, даже трудно придумать где InMemory будут лучше
__________________
-ТСЯ или -ТЬСЯ ? |
|
04.05.2011, 09:06 | #6 |
Участник
|
На доступной мне версии tempdb таблицы не поддерживают метод setTmpData
|
|
04.05.2011, 09:54 | #7 |
Axapta
|
Интересно, почему в доступной бета-версии тип TempDB установлен пока только у четырех таблиц (TmpInventAge, TmpLedgerConsQuery, TmpLedgerConsTrans, TmpNumberSeq)? Все остальные временные таблицы имеют тип InMemory.
|
|
04.05.2011, 10:18 | #8 |
Участник
|
Ты проверял скриптом или только по таблицам с префиксом tmp?
|
|
04.05.2011, 10:31 | #9 |
Axapta
|
Действительно... Временные таблицы не только tmp*, но и *tmp, *tmp* и даже совсем без tmp. Какой ужас. Ага, среди всех таблиц InMemory и TempDB вполне себе присутствуют.
|
|
04.05.2011, 10:48 | #10 |
Участник
|
|
|
04.05.2011, 10:49 | #11 |
Axapta
|
Посмотрел среди всех таблиц. Все равно подавляющее большинство - это InMemory.
Не начинать, согласен. В BP написано что-то типа "for temporary tables use infix with Tmp". |
|
04.05.2011, 10:55 | #12 |
Участник
|
Цитата:
Что будет с передачей данных таблицы с одного уровня на другой, есть ли сжатие данных при передаче?
Цитата:
На доступной мне версии tempdb таблицы не поддерживают метод setTmpData
Цитата:
Интересно, почему в доступной бета-версии тип TempDB установлен пока только у четырех таблиц (TmpInventAge, TmpLedgerConsQuery, TmpLedgerConsTrans, TmpNumberSeq)? Все остальные временные таблицы имеют тип InMemory.
|
|
04.05.2011, 11:03 | #13 |
Участник
|
Вопрос:
Цитата:
|
|
04.05.2011, 11:43 | #14 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: belugin (3). |
04.05.2011, 19:10 | #15 |
Moderator
|
Цитата:
|
|
05.05.2011, 11:43 | #16 |
MCT
|
Наверное надо было бы в начале обсуждения добавить слайдик, но уже что вышло то вышло
__________________
Axapta book for developer |
|
05.05.2011, 11:49 | #17 |
Участник
|
Цитата:
Сообщение от fed
А спроси пожалуйста, если можешь, отключили ли они сваппинг временных таблиц на диск ? (Это про который мы здесь рассуждаем). Мне кажется что это ограничение выдумали во времена, когда в среднем на AOS стояло 256-512 мегабайт оперативки, а сейчас там, в среднем 8-16 гигабайт. Так что можно было бы либо снять это ограничение (типа - начинаем сваппить таблицы только если общий объем ВСЕХ таблиц в системе превысил 20% от доступной памяти), либо поднять предельный размер InMemory table до 2 Мегабайт примерно...
__________________
Blog: http://axdaily.blogspot.com |
|
05.05.2011, 22:19 | #18 |
Участник
|
Не думаю, что работа временных (InMemory) таблиц изменилась. Так что по прежнему будет на диск сохранятся.
Хотя, на самом деле, логично было бы хотя бы порог увеличить.. |
|
05.05.2011, 23:21 | #19 |
Участник
|
сказали следующее:
1) во-первых, вроде бы не 128К, а 32К по дефолту, а потом по 128К инкремент 2) есть свойство Entire table cache size (System administration/Area page/Setup/Server configuration), которое так же должно влиять и на InMemory таблицы.
__________________
Blog: http://axdaily.blogspot.com |
|
|
За это сообщение автора поблагодарили: Logger (10). |
05.05.2011, 23:46 | #20 |
Участник
|
Цитата:
P.S. Про инкремент не понял. Он к чему относится ? К памяти в оперативке, которая отводится под времянку ? Последний раз редактировалось Logger; 05.05.2011 в 23:49. |
|
Теги |
ax2012, временная таблица, что нового |
|
|