AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Функционал
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.08.2007, 11:23   #1  
Garic is offline
Garic
NavAx
Аватар для Garic
NavAx Club
 
393 / 63 (3) ++++
Регистрация: 23.07.2002
Адрес: Москва
Angry Переход на четвёрку - Unicode
Благодаря этому чудесному новвоведению появилась возможность вести номенклатурный справочник на албанском.
Но есть и побочные эффекты - размер базы увеличивается.
В нашем случае - inventTrans увеличился с 13 гигабайт до 31. Это без индексов (а с ними так вообще).
Общий размер базы увеличился примерно в два раза.

Есть ли у кого-то идеи - как отключить сию безусловно полезную в наших реалиях функциональность?

Пока всё что нашёл - это ключ UNICODEENABLED в
SQLSYSTEMVARIABLES. Но это не помагает.

В принципе, если переконвертить средствами СКЛ поле из nvarchar в varchar - Аксапта это проглатывает. Даже при синхронизации ничего не пытается переделать. Но как-то стрёмно, например если сменить EDT - возвращает обратно в nvarchar.
__________________
С уважением, Игорь Ласийчук.
Старый 06.08.2007, 11:35   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Garic Посмотреть сообщение
Благодаря этому чудесному новвоведению появилась возможность вести номенклатурный справочник на албанском.
Но есть и побочные эффекты - размер базы увеличивается.
В нашем случае - inventTrans увеличился с 13 гигабайт до 31. Это без индексов (а с ними так вообще).
Общий размер базы увеличился примерно в два раза.
А выравнивание у вас в какую сторону?
Стандартное для 4ки влево?
Если нет, то проведите выравнивание влево
http://axapta.mazzy.ru/lib/adjustment/

Цитата:
Сообщение от Garic Посмотреть сообщение
Есть ли у кого-то идеи - как отключить сию безусловно полезную в наших реалиях функциональность?
Нет.

Цитата:
Сообщение от Garic Посмотреть сообщение
В принципе, если переконвертить средствами СКЛ поле из nvarchar в varchar - Аксапта это проглатывает. Даже при синхронизации ничего не пытается переделать. Но как-то стрёмно, например если сменить EDT - возвращает обратно в nvarchar.
Не надо мучать кошечку.
После таких манипуляций никто не гарантирует работоспособность Аксапты.
Аксапта не работает правильно с NULL и не занимается интерпретацией результатов выражений с NULL-значениями.
__________________
полезное на axForum, github, vk, coub.
Старый 06.08.2007, 12:04   #3  
Garic is offline
Garic
NavAx
Аватар для Garic
NavAx Club
 
393 / 63 (3) ++++
Регистрация: 23.07.2002
Адрес: Москва
Цитата:
Сообщение от mazzy Посмотреть сообщение
А выравнивание у вас в какую сторону?
Стандартное для 4ки влево?
Да, безусловно, у нас изначально так было. Для InventTrans специально проверил - все поля влево.

Цитата:
Сообщение от mazzy Посмотреть сообщение
Не надо мучать кошечку.
После таких манипуляций никто не гарантирует работоспособность Аксапты.
Кошечка сама виновата.
В чём сакральный смысл делать такие поля как dataAreaId, InventTransId, InventDimId, Voucher типом nvarchar ? Кому-то очень нужно вести их на китайском?
А база-то растёт, особенно индексы... И производительность...
Нет бы сделать чтобы это настраивалось на уровне EDT.
Когда база гигов 20-30, это не страшно. Но когда она 70 и увеличивается до 150, тут уже начинаеш задумываться - а нужна она, четвёрка?

Цитата:
Сообщение от mazzy Посмотреть сообщение
Аксапта не работает правильно с NULL и не занимается интерпретацией результатов выражений с NULL-значениями.
А это к чему? Не понял.
__________________
С уважением, Игорь Ласийчук.

Последний раз редактировалось Garic; 06.08.2007 в 12:08.
Старый 06.08.2007, 12:15   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Сейчас названия компаний и префиксы-суффиксы в номерах лотов на китайском вполне допустимы.

Цитата:
Сообщение от Garic Посмотреть сообщение
А это к чему? Не понял.
Если я правильно понимаю, что вы хотите вручную изменить тип на тот, что может содержать null-значения. Аксапта же сейчас использует тип, который не может содержать Null.
__________________
полезное на axForum, github, vk, coub.
Старый 06.08.2007, 13:40   #5  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от Garic Посмотреть сообщение
В чём сакральный смысл делать такие поля как dataAreaId, InventTransId, InventDimId, Voucher типом nvarchar ? Кому-то очень нужно вести их на китайском?
Это задел на будущее, чтобы версия 5.0 стала еще производительнее, не иначе

"Сейчас я рельсу брошу и ка-а-к побегу" (с) анекдот
__________________
-ТСЯ или -ТЬСЯ ?
Старый 06.08.2007, 18:44   #6  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Цитата:
Сообщение от Vadik
...
Это задел на будущее, чтобы версия 5.0 стала еще производительнее
...
Это шутка, или действительно стоит ожидать возможности перехода на более короткие коды?
__________________
С уважением,
glibs®
Старый 07.08.2007, 09:01   #7  
Garic is offline
Garic
NavAx
Аватар для Garic
NavAx Club
 
393 / 63 (3) ++++
Регистрация: 23.07.2002
Адрес: Москва
Цитата:
Сообщение от Vadik Посмотреть сообщение
Это задел на будущее, чтобы версия 5.0 стала еще производительнее, не иначе
Надо побыстрее перейти на эту версию. Возможности албанского там будут существенно расширены.

http://blogs.msdn.com/mfp/archive/20...cs-ax-5-0.aspx
__________________
С уважением, Игорь Ласийчук.

Последний раз редактировалось Garic; 07.08.2007 в 09:41.
Старый 17.04.2008, 14:43   #8  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,941 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
В чём сакральный смысл делать такие поля как dataAreaId, InventTransId, InventDimId, Voucher типом nvarchar ? Кому-то очень нужно вести их на китайском?
А база-то растёт, особенно индексы... И производительность...
Нет бы сделать чтобы это настраивалось на уровне EDT.
Когда база гигов 20-30, это не страшно. Но когда она 70 и увеличивается до 150, тут уже начинаеш задумываться - а нужна она, четвёрка?
Если честно вообще непонятно зачем такие внутренние идентификаторы как
InventTransId, InventDimId, Voucher сделали строками.

Нигде в системе не встречал чтобы пользователь работал с ними непосредственно или искал по ним данные (ну разве что по Voucher). Данные типы вообще напрашиваются чтобы быть int32 или int64

Как вариант можно попробовать прокодировать номерные серии для этих полей специальным управляющим символом '&' и сделать выравнивание по левому краю. В этом случае номер будет генериться используя не только цифры но и буквы латинского алфавита - медленнее будет нарастать число значащих цифр - меньше места будет занимать идентификатор в базе.
Старый 06.08.2007, 19:26   #9  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Думаю, это сарказм, но очень правдоподобный.
Старый 06.08.2007, 21:27   #10  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Цитата:
Сообщение от kashperuk
...
очень правдоподобный
...
Чтож, будем надеяться.
__________________
С уважением,
glibs®
Старый 17.04.2008, 14:53   #11  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,941 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от glibs Посмотреть сообщение
Чтож, будем надеяться.
Надежды мало :
http://dynamicsmatters.blogspot.com/...inventdim.html

Цитата:
Anonymous said...
>> Create an Array field InventCondition with three fields Batch, SerialNumber, and Condition

Do you plan to make this fields integer type, not string like in Ax3.0 ?

I think it can minimize size of indexes. Besides, DB perform operations with numbers much faster than with strings.

27 March 2008 00:32:00 PDT


Sven Jochimsen said...
I believe that it would be a hughe performance gain but also a hughe functional loss to only have numbers in all the references.

Plus converting existing data will be an even bigger job :-(

Best Regards
Sven

27 March 2008 09:46:00 PDT
Старый 17.04.2008, 15:51   #12  
Alexius is offline
Alexius
Участник
Аватар для Alexius
 
461 / 248 (9) ++++++
Регистрация: 13.12.2001
Для любителей серьезного экстрима и MS SQL 2000 могу предложить попробовать поменять местами varchar и nvarchar
Код:
sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
GO
sp_configure 'allow updates', 1
RECONFIGURE WITH OVERRIDE
GO
UPDATE systypes SET name = 'varchar2' WHERE name = 'varchar'
GO
UPDATE systypes SET name = 'varchar' WHERE name = 'nvarchar'
GO
UPDATE systypes SET name = 'nvarchar' WHERE name = 'varchar2'
GO
На первый взгляд работает.

PS. Обкатку это не проходило, за последствия не отвечаю
Старый 07.08.2007, 08:23   #13  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от Garic Посмотреть сообщение
Пока всё что нашёл - это ключ UNICODEENABLED в
SQLSYSTEMVARIABLES
ну еще как минимум STR=VARCHAR(%U) был в трешке
доберусь до четверки, проверю
__________________
-ТСЯ или -ТЬСЯ ?
Старый 07.08.2007, 08:33   #14  
Garic is offline
Garic
NavAx
Аватар для Garic
NavAx Club
 
393 / 63 (3) ++++
Регистрация: 23.07.2002
Адрес: Москва
Цитата:
Сообщение от Vadik Посмотреть сообщение
ну еще как минимум STR=VARCHAR(%U) был в трешке
доберусь до четверки, проверю
Ага, ключевое слово "был"
Причём этот параметр даже работал - вчера проверил.

Щас такого параметра нет, пробовал его добавить - вдруг заработает - не прокатило.

Ещё нашёл параметр - если экспортнуть настройки сервера АОС в файл - "dbunicodeenabled,Text,1" - тоже не работает
__________________
С уважением, Игорь Ласийчук.
Старый 16.04.2008, 13:00   #15  
SolNik is offline
SolNik
Участник
 
58 / 36 (2) +++
Регистрация: 22.10.2003
Поднимаю тему.
Есть ли у кого-то реальный опыт в 4-ке преобразования юникодовых полей в varchar?
Теги
ax2009

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Файлы XML, CSV, HTML в кодировке Unicode EVGL DAX: База знаний и проекты 3 16.01.2009 14:23
Финансовые отчеты и Unicode - проблемы выравнивания Qaz Qwerty DAX: Программирование 0 28.10.2008 03:41
Аксапта как фронт-офисное решение в рознице. vc DAX: Функционал 15 11.02.2008 10:42
dynamicsusers: Navision and Unicode Blog bot DAX Blogs 0 16.03.2007 12:40
Переход на правильную запись при Переходе к основной таблице. - 2 Anais DAX: Программирование 2 01.11.2004 17:14
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 03:30.