|  29.01.2009, 10:59 | #21 | 
| Участник | Цитата: Получилось два несвязанных списка. Цитата: Но пока мне кажется, что изложенные здесь критерии правильности не изменяются. | 
|  | 
|  29.01.2009, 11:26 | #22 | 
| Участник | 
			
			Отлично. Объединил списки. DAX4SP2_memo_full.xls Всего получилось 263 таблицы (из них 32 удаленные) и 368 полей (из них 55 удаленных). Цитата: Но согласен, что запросы по ним проходят достаточно часто. По поводу EmplTable я бы поморщился и начал говорить о неправильном проектном решении. Но там предполагается хранить только идентификаторы. Они не такие и большие. Хотя конечно неаккуратненько. В AssetTable также - неаккуратненько, но особого желания кричать "козлы!" не возникает. Там хранятся текстовые комментарии. И вряд ли действительно большие blob-объекты. RContract... Ну... блин. плохо. Но терпимо. А вот RCashTrans, rTax25RegisterTrans, rPayRateTrans - просто отвратительно. Сделал фильтр по trans. Оказывается в проводках находится 18 memo-полей (из них 7 уже удалено). Среди оставшихся 4 в EPTransactionSumTrans, 3 поля в российских таблицах, и 2 в TaxElectronicDeclarationTrans. Мне кажется, что это стоит исправлять. Также мне кажется ошибкой наличие Memo-поля в таблицах InventBatch, InventColor, InventSerial, InventSize. Но тут надо подумать. Поскольку здесь вступает в силу соображение о 256 символах. По этим полям всего-лишь нет поиска и индексов. Думаю, что критерий правильности остается неизменным Цитата: 
		
			вставить memo-поле в inventTrans, LedgerTrans, Currency, ExchRates и т.п. - будет огромной ошибкой, поскольку трафик будет забит этими мемо-полями. Вставить memo-поле в CompanyInfo или LedgerParameters - будет огромной ошибкой, поскольку кэш забьется этим мемо-полем и перестанет работать как должно. (Обратите внимание на поле DEL_Logo в CompanyInfo ) А вот вставить memo-поле в специальную таблицу CompanyImage или специальную таблицу DocuField - почему бы и нет? В связи с появлением нового списка встает вопрос: а как лучше создавать memo-поле - как контейнер или как string с длиной memo? Так есть таблицы, которые содержат поля, заданные разными способами SysInetCSS SysInfolog (!) tutorial_AuctionItems В aif-таблицах постоянно разный стиль... Интересно, это имеет какой-то смысл или так получилось? | 
|  | 
|  29.01.2009, 11:39 | #23 | 
| Участник | 
			
			Граждане-товарищи! Не путайте контейнеры и мемо поля!  Суть в том, что контейнер хранится в поле с типом image (blob) - бинарные данные, а мемо - text (varchar(max), clob). Обрабатываются они сервером по разному и на клиенте тоже работают по разному. Если text еще похож в некотором роде на varchar, от image ваще из другой оперы! Посему считаю неправильным хранить коментарии и что-то текстовое в контейнерах. | 
|  | |
| За это сообщение автора поблагодарили: mazzy (5), Ivanhoe (1). | |
|  29.01.2009, 11:46 | #24 | 
| MCTS | 
			
			Насколько я слышал (сам пока не проверил) в Container можно положить до 60 MB. Выше утверждали что в String (Memo) до 16 MB. Ну и MSSQL типы: image и ntext, соответственно.
		 | 
|  | |
| За это сообщение автора поблагодарили: mazzy (5). | |
|  29.01.2009, 11:55 | #25 | 
| Участник | 
			
			Пожалуй, таки да!   Цитата: Разве нет? Цитата: Однако таблица ясно показывает, что разработчики иногда хранят текстовое и в контейнерах. Например, HRMApplicationWordBookmark, ReqLog  Но в целом, похоже действительно следуют правилу: текст хранится в string(memo), а объекты/изображения/контейнеры в container. Снова исключением, стоящим за гранью добра и зла, являются Amounts в книгах покупок и продаж  Клевая получилась ветка. Удалось узнать что-то новое. Спасибо! | 
|  | |
| За это сообщение автора поблагодарили: Ivanhoe (2). | |
|  29.01.2009, 13:00 | #26 | 
| Участник | 
			
			Вообще-то нет. Если брать text, то когда на сервер уходит запрос select ... то обратно передается только <= 256 символов поля, потом клиент дополнительно запрашивает данные blob поля, если передалось не все. Насчет image точно не знаю, но думаю, алгоритм тот-же.
		 | 
|  | 
|  29.01.2009, 13:10 | #27 | 
| Участник | Цитата: А когда "потом" клиент запрашивает? Это "потом" управляется программистом? Если не управляется, то какая разница - сразу или через десяток милисекунд? Сетевой трафик то все равно будет. Может настройки какие есть? | 
|  | 
|  29.01.2009, 13:16 | #28 | 
| Участник | 
			
			сделайте запрос в QueryAnaliser (Management studio) к табличке с мемо полем и посмотрите что вернется, ну только чтобы в поле было текста ну с 1000 символов. Цитата:  Трафик, есс-но будет! | 
|  | 
|  29.01.2009, 13:31 | #29 | 
| Участник | Цитата:   | 
|  | 
|  29.01.2009, 13:49 | #30 | 
| Модератор | Цитата: 
		
			Сообщение от egorych
			
			 Вообще-то нет. Если брать text, то когда на сервер уходит запрос select ... то обратно передается только <= 256 символов поля Цитата: 
		
			сделайте запрос в QueryAnaliser (Management studio) к  табличке с мемо полем и посмотрите что вернется Цитата: 
		
			Суть в том, что контейнер хранится в поле с типом image (blob) - бинарные данные, а мемо - text (varchar(max), clob). Обрабатываются они сервером по разному и на клиенте тоже работают по разному
		
	 Цитата: 
		
			Потом, это например, когда вы в гриде, например переходите на эту запись, а если не перейти, то оно может и не передться
		
	   
				__________________ -ТСЯ или -ТЬСЯ ? | 
|  | 
|  29.01.2009, 15:16 | #31 | 
| Пенсионер | Цитата: 
		
			Сообщение от sukhanchik
			   Еще 5 копеек про мемо-поля. Их нельзя впихнуть в условие Where (следствие их неиндексируемости). А также - по ним невозможен поиск. Ряд консалтиновых компаний используют в своей работе GPT (General Problem Tracker) - систему запросов клиентов с контролем их исполнения. Не знаю - пошла ли терминология от Колумбуса или нет - это неважно. Важно то, что описания задач и комментарии к ним - руки чешутся сделать мемо-полями (типа информации может быть много). Однако - это решение является архитектурной ошибкой (на мой взгляд), т.к. впоследствии возникает задача поиска по запросам или комментариям, а по мемо-полю этого сделать увы - нельзя. Я говорю о GPT, реализованного на Аксапте. Это в качестве примера. Ряд остальных доводов хорошо расписал Mazzy и еще поиск по данным полям достаточно редкое явление, по крайней мере у нас. 
				__________________  Законы природы еще никто не отменял! А еще у меня растет 2 внучки!!! Кому интересно подробности тут: http://www.baby-shine.com/ Последний раз редактировалось blokva; 29.01.2009 в 15:25. | 
|  | 
|  29.01.2009, 15:33 | #32 | 
| Участник | |
|  | 
| Теги | 
| ax4.0, memo, string, полезное | 
|  | 
| 
 |