PimenS
1 - 25.05.2009 - 13:06
|
В dbf-версии все строки "неограниченной длины" хранятся в файле 1sblob.dbf кусками по 80 символов. Отсюда и делай выводы. Таблица общая для всех объектов данных, которые используют длинные строки - значит, возможны проблемы совместного пользования ею при работе нескольких пользователей. Т. к. строка режется на куски, то, когда записей станет слишком много, возможны проблемы со скоростью доступа к отдельным фрагментам строки. Кроме того, еще не известно, как может себя повести dbf-ный движок, используемый в 1С, и индексные выражения при большом числе записей. Про индекс могу определенно сказать - максимальное число 80-байтных блоков одной строки равно 10000 (0-9999), т. к. индексное выражение содержит в себе STR(BLOCKNO,4). Таким образом, в один реквизит типа "строка неограниченной длины" можно записать до 800000 байт (не такая уж она и "неограниченная"). Теоретический предел количества записей в dbf - 1 миллиард, хотя с глюками 1С-ного движка этот предел может наступить гораздо раньше. Так что напрашивается совет: по возможности избегать строк "неограниченной длины" - можно обойтись справочником, где будут указаны пути к текстовым файлам или разработать свою альтернативную систему хранения таких строк, благо 1С с файлами работать позволяет. В SQL-версиях насчет строк неограниченной длины см. документацию по MS SQL. |