Имя: Пароль:
1C
1С v8
Оптимальная длина длинной строки?
0 wms
 
04.04.17
13:18
Конфа ДО. Длина наименования задачи=150. Не хватает длины.Увеличить нельзя. Нужна длина примерно 500-600 и будет почти всегда заполнена
Неограниченная строка не подойдет- она оптимальна когда часто не заполнен реквизит.
Где то давно читал что для длинных строк надо кратно 512 добавлять?
т.е. если 512 мало то 1024?
или без разницы делать 500 или 550 или 600 ?
Индексировать естественно не будем
1 Волшебник
 
модератор
04.04.17
13:25
Добавь реквизит и установи любую длину. Кратность не нужна.
2 wms
 
04.04.17
13:26
или про 512 это вымысел. что то не могу найти инфу.
постараемся сейчас точно определить минимально возможную длину чтобы не обрезало.
3 Помогите
 
04.04.17
13:26
Вообще без разницы. Ставь сколько тебе будет удобно, система сама увеличит внутри до скольки ей будет удобно.
Ты не должен тратить свое время на такие мелочи.
4 Tateossian
 
04.04.17
13:37
(2) Смотри, как я делал. Мне нужно было реализовать быстрый поиск, но строка неограниченной длины. Я добавил индексируемое поле и чтобы вся строка попала в индекс ее длина должна быть 442 символа, не более. А потом запросом я искал по индексной строке, а потом в подиндексной. И все работает быстро и как часы. Место жрет только, собака.

P.S. Я сейчас стал "умный", реализовал бы индекс через хэш...
5 wms
 
04.04.17
13:48
(4) 442 символа для индекса это твой случай для твоей таблички или такое ограничение?
6 Tateossian
 
04.04.17
13:52
(5) Ограничение у SQL сервера на 900 байт для индекса. Ссылка - это binary 16 байт (она по дефолту попадает в индекс), остается 884 байта, а это 442 символа. Если еще добавить поле в индекс, длина для строки индекса останется еще меньше.
7 vde69
 
04.04.17
13:55
есть краткое наименование (для показа в списках) и полное наименование...

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

ну а полное без ограничения, только не выводи его в списки...
8 HardBall
 
04.04.17
14:01
(7) +1
9 wms
 
04.04.17
14:23
(7)вы водить в списки нужно и в запросах тоже.
поэтому однозначно не неогр. длины.
краткое наименование, то которое предопределенное оно ограничено платформой в 150 знаков.
а по "а в 200 символов все влезает.." у нас не влазит:-) и точка.
10 wms
 
04.04.17
14:24
(6) понятно. я 500 или 600 попробовал проиндексировать ругнулось и бросил
11 1dvd
 
04.04.17
14:25
(10) А что за справочник, если не секрет?
12 1Снеговик
 
гуру
04.04.17
14:27
Кто мешает получить запросом строку неограниченной длины?
Кто мешает прям в запросе привести ее к Строка(1000)?
13 Волшебник
 
модератор
04.04.17
14:27
(9) в запросах можно писать ПОДСТРОКА(Строка, 1000)
14 wms
 
04.04.17
14:37
(13)в курсе, но когда доработок много, то нафик это нужно
и к тому же главное:
я изначально написал реквизит неогр. длины имеет смысл использовать, если он часто не заполнен.
А у нас будет всегда заполнен и длинным наименованием.
15 wms
 
04.04.17
14:38
(11) в (0) написано
16 wms
 
04.04.17
14:40
и к тому же реквизит неогр. длина точно порциями и в отдельной таблице хранится т.е. в запросе ПОДСТРОКА(Строка, 600) думаю дольше будет отрабатывать по сравнению с реквизитом длиной 600
17 h-sp
 
04.04.17
14:53
(14) так доработок одна строчка всего. Которая в (13).
18 Волшебник
 
модератор
04.04.17
20:11
(17) Кстати, в строчке (13) специально допущена обучающая ошибка.
19 Йохохо
 
04.04.17
20:19
если в 1с пытаться управлять размером хранимых данных, то это бред
если выбирать между хранением в блоб и в индексе, профит
20 Torquader
 
05.04.17
03:31
Что такое строка неограниченной длины - это строка ограниченной длины плюс хвост. Если всё правильно выбрать, то хвост будет использоваться только для уж очень длинных строк.
21 rphosts
 
05.04.17
03:39
(4) хэшь тебе поможет искать только при полном совпадении а не по подстроке
22 rphosts
 
05.04.17
03:42
(2) тебе зачем про эти порции? Не морочте голову, дорастешь до тюнинг пефоманс - будешь задаваться такими вопросами, а пока поверь, что базовод из коробки лучше тебя текущего оптимизирует... и да, 2 поля: 200 под краткое описание и Англии под многострочные подробности
23 rphosts
 
05.04.17
03:43
Англии = анлим, т9 чтоб его
24 VladZ
 
05.04.17
05:22
(0) Наименование задачи - это суть. Суть должна быть краткой. Не нужно тут сочинения писать на три листа. Для подробного описания нужно делать отдельный реквизит.

Тут даже 150 много. 100 достаточно.