Страница 7 из 10
					
				Btrieve и clarion
				Добавлено: 16 Июнь 2019, 23:47
				 Developer
				Игорь Столяров писал(а): 16 Июнь 2019, 23:43Как скажете … В C11 почему-то используется историческое название этой БД …
 
Так и думал  
 
С чего это разные названия - хотя при попытке регистрации присутствуют и старые  

 
			 
			
					
				Btrieve и clarion
				Добавлено: 08 Июль 2019, 12:19
				 finsoftrz
				Прошел месяц с начала работы на actian zen в боевом режиме. Пока особых вопросов не возникало. База без лога 13+ ГГб. Деревья в медгородке все обстучал...
Из нюансов относительно работы с tps есть еще такой. Если используется режим разбивки таблицы на физические файлы по 2ГБ, то при автоконвертации структуры базы данных надо копировать все части на место старых. То есть требуется небольшая правка шаблона.
			 
			
					
				Btrieve и clarion
				Добавлено: 26 Сентябрь 2019, 8:16
				 Игорь Столяров
				Вот всем хорош Btrieve, особенно в контексте использования c Clarion.
Но даёт о себе знать его ископаемое нутро ...
Ограничение на суммарную длину полей в ключах 256 байт неприемлемо в 2019 г.
Пара-тройка полей с GUID и всё, наименование уже не помещается. 

 
			 
			
					
				Btrieve и clarion
				Добавлено: 26 Сентябрь 2019, 8:43
				 finsoftrz
				Сделайте одно поле с guid, а остальное фильтруйте. Я придерживаюсь мнения, что в ключах не должно быть длинных строковых полей. Например, вместо 150 символов алкогольной марки в ключе можно сохранять только последние 10, которые редко будут повторяться. Или для наименований в справочниках только первые 10-20 символов.
			 
			
					
				Btrieve и clarion
				Добавлено: 26 Сентябрь 2019, 8:58
				 Игорь Столяров
				finsoftrz писал(а): 26 Сентябрь 2019, 8:43Или для наименований в справочниках только первые 10-20 символов.
 
Понятно, что как-то выкрутиться всегда можно, что в общем-то и делается.
Но осадок и чувство глубокого неудовлетворения происходящим - остаётся.
 
			 
			
					
				Btrieve и clarion
				Добавлено: 26 Сентябрь 2019, 9:06
				 finsoftrz
				Не знаю, у меня, наоборот, чувство удивления вызывают ключи с сотнями символов. В sql давно всякие разные схемы построения ключей используются. У нас тоже самое надо делать, только самостоятельно. Но и кпд при работе выше.
			 
			
					
				Btrieve и clarion
				Добавлено: 26 Сентябрь 2019, 9:16
				 morkovin
				finsoftrz писал(а): 26 Сентябрь 2019, 9:06ключи с сотнями символов
 
А если ключ по полю CSTRING,  и поле объявлено с запасом по длине? В своё время я отказался от Btrieve именно из-за ограничений по длине ключа, т.к. терялась совместимость dictionary с другими драйверами.
 
			 
			
					
				Btrieve и clarion
				Добавлено: 26 Сентябрь 2019, 9:21
				 finsoftrz
				Если не погружаться в целесообразность использования cstring, то надо определиться, для чего этот ключ нужен. Если для четкого поиска, то можно заменить на хэш. Если для нечеткого (типа локатора), то вынести первые символы в отдельное поле или использовать over.
			 
			
					
				Btrieve и clarion
				Добавлено: 26 Сентябрь 2019, 9:23
				 Игорь Столяров
				finsoftrz писал(а): 26 Сентябрь 2019, 9:06чувство удивления вызывают ключи с сотнями символов
 
Понимаете, построение ключей - это же не самоцель. Структура БД (в т.ч. ключи) описывает некую существующую реальность.
Например в том же Меркурии не заморачиваются сильно и почти все символьные наименования по 255 символов.
А чего думать-то ? Любить - так королеву. Можно конечно это всё подрезать исходя из здравой логики и технологических ограничений.
И потом молится, что бы это где-то не вылезло. У меня уже вылезло, когда один дебил (другого слова нет) указал наименование
своих хинкали в 212 символов … 

 
			 
			
					
				Btrieve и clarion
				Добавлено: 26 Сентябрь 2019, 9:32
				 morkovin
				finsoftrz писал(а): 26 Сентябрь 2019, 9:21для чего этот ключ нужен
 
На собственном опыте:
 Было поле CSTRING(120) и по нему ключ. Через год попросили увеличить да 250. Ещё через пару лет до 512 и т.д.
Вот типичное наименование дисциплины "МДК 01.03 Сестринское дело в системе первичной медико-санитарной помощи населению".
А вот краткое наименование "МДК01.03  СД в СПМСПН". Что здесь можно понять?
 
			 
			
					
				Btrieve и clarion
				Добавлено: 26 Сентябрь 2019, 9:49
				 finsoftrz
				Краткое наименование только в ключе. Выводится полное. У меня потребность в длинных ключах была только в справочнике товаров. 40 первых символов из наименования товара для упорядочивания в отчетах и ид для функции четкого поиска в стандартном броузе. Решается объявлением второго поля в таблице с атрибутом over на поле с полным наименованием. Все отлично работает и в tps, и в btrieve.
			 
			
					
				Btrieve и clarion
				Добавлено: 26 Сентябрь 2019, 9:52
				 Игорь Столяров
				finsoftrz писал(а): 26 Сентябрь 2019, 9:4940 первых символов из наименования товара для упорядочивания в отчетах
 
В отчётах - прокатит. Но если открывать список товаров для выбора (в режиме SelectRecord), то засветка установится на неправильную запись (при совпадении первых 40 символов в наименовании разных товаров).
 
			 
			
					
				Btrieve и clarion
				Добавлено: 26 Сентябрь 2019, 10:06
				 kreator
				А как вы решаете проблему уникальности полей при таких напрягах?
			 
			
					
				Btrieve и clarion
				Добавлено: 26 Сентябрь 2019, 10:15
				 finsoftrz
				Игорь Столяров писал(а): 26 Сентябрь 2019, 9:52finsoftrz писал(а): 26 Сентябрь 2019, 9:4940 первых символов из наименования товара для упорядочивания в отчетах
 
В отчётах - прокатит. Но если открывать список товаров для выбора (в режиме SelectRecord), то засветка установится на неправильную запись (при совпадении первых 40 символов в наименовании разных товаров).
 
Для этого и добавляется в ключ второе поле идентификатора записи. 
Я хочу сказать, что содержимое в ключе используется только для поиска записей. А не отображения информации. Никто нам не мешает создавать дополнительные поля, предназначенные исключительно для организации эффективного поиска.
 
			 
			
					
				Btrieve и clarion
				Добавлено: 26 Сентябрь 2019, 10:17
				 finsoftrz
				kreator писал(а): 26 Сентябрь 2019, 10:06А как вы решаете проблему уникальности полей при таких напрягах?
 
Напряги только в головах...