Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / нужно ли делать Memo-поле? / 14 сообщений из 14, страница 1 из 1
05.09.2007, 10:00
    #34776460
Снифф
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужно ли делать Memo-поле?
Hi
народ обьясните
вот у нас в таблици есть поле. в нем большинство данных имеет длину 10-15 симвлов. и могут редко попадаться до 60 символов. сейчас это поле у нас типа Char длина 65.
а вот если мы переделаем тип на Memo для уменьшения обьема таблицы. мы выиграем изза этого? или c Memo наоборот лучьше поменьше дел иметь?
спасиба
...
Рейтинг: 0 / 0
05.09.2007, 10:10
    #34776496
нужно ли делать Memo-поле?
Минимально место, занимаемое мемо-полем определяется настройкой Set Memowidth и ничего в предложенном варианте не выигрывается.
...
Рейтинг: 0 / 0
05.09.2007, 10:26
    #34776556
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужно ли делать Memo-поле?
1. Как уже заметил Александр, если не будете играться настройками SET BLOCKSIZE (set memowidth - это отображение), то, по умолчанию, под каждое значение будет выделен объем, кратный 64 байт. Нет выигрыша в объеме. А играться этой настройкой я бы не советовал.

2. Особенность модификации мемо-полей заключается в том, что они не замещают сущесвтующее значение, а создают новое. Т.е. изменение значения мемо-поля означает, что старое значение останется как есть, но будет записано новое значение в конец файла FPT. Например, если до модификации размер поля был 64 байта, и изменили один байт, то размер стал 128 байт

3. Как следствие, для уборки мусора мемо - поля требуют определенных административных (периодических) мероприятий по их сопровождению (PACK MEMO). Впрочем, таблица DBF требует периодической упаковки в любом случае. Так что, про это надо просто помнить.

Более подробно о мемо-полях читайте во вложенном файле.
...
Рейтинг: 0 / 0
05.09.2007, 10:39
    #34776610
нужно ли делать Memo-поле?
Гы! Интересно, почему меня все время пытаются назвать Александром? Может путают с "прошелмимо"? Так мы с ним сильно отличаемся.
...
Рейтинг: 0 / 0
05.09.2007, 12:24
    #34777141
прошелмимо
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужно ли делать Memo-поле?
2 Снифф

что там у Вас хранится???

если это какие-то стандартные примечания,
то возможно создание справ-ка примечаний
а в таблицу куда Вы сейчас что-то пишите добавлять ссылку на ключь справочника
...
Рейтинг: 0 / 0
05.09.2007, 12:26
    #34777152
Sergey Ch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужно ли делать Memo-поле?
проходящий.Гы! Интересно, почему меня все время пытаются назвать Александром? Может путают с "прошелмимо"? Так мы с ним сильно отличаемся.
Модератор: Зарегистрируйтесь и никто не будет Вас ни с кем больше путать...
...
Рейтинг: 0 / 0
05.09.2007, 12:27
    #34777157
прошелмимо
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужно ли делать Memo-поле?
если это какое-то примечание,
то можно его каким-то образом
разбить на постоянные составляющие
и дополнение ....

сообщите, что Вы туда кладете?
что это за инф-я?
...
Рейтинг: 0 / 0
05.09.2007, 12:48
    #34777278
Снифф
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужно ли делать Memo-поле?
в том поле у нас названия сортов и марок
зачем же тут справочник?
...
Рейтинг: 0 / 0
05.09.2007, 13:09
    #34777366
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужно ли делать Memo-поле?
СниффHi
народ обьясните
вот у нас в таблици есть поле. в нем большинство данных имеет длину 10-15 симвлов. и могут редко попадаться до 60 символов. сейчас это поле у нас типа Char длина 65.
а вот если мы переделаем тип на Memo для уменьшения обьема таблицы. мы выиграем изза этого? или c Memo наоборот лучьше поменьше дел иметь?
спасиба
Используйте тип данных Varchar - V(60)
С уважением, Алекысей
...
Рейтинг: 0 / 0
05.09.2007, 13:38
    #34777522
прошелмимо
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужно ли делать Memo-поле?
Varchar
при наличии доп. полей в таблице на размер таблицы не влияет
размер записи - будет у всех записей одинаковый

и 8-я лиса - варчара нет

автор
названия сортов и марок

они повторяются?? или всегда иникальные (различные)
...
Рейтинг: 0 / 0
05.09.2007, 13:41
    #34777541
Sergey Ch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужно ли делать Memo-поле?
Aleksey-KИспользуйте тип данных Varchar - V(60)
С уважением, Алекысей
Если мне не изменяет память в DBF они "fake" - все так-же хранятся в character c длиной 60...
...
Рейтинг: 0 / 0
05.09.2007, 14:18
    #34777727
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужно ли делать Memo-поле?
Sergey Ch Aleksey-KИспользуйте тип данных Varchar - V(60)
С уважением, Алекысей
Если мне не изменяет память в DBF они "fake" - все так-же хранятся в character c длиной 60...
Для справки:

Для хранения полей типа VarChar, как и для хранения полей типа Character всегда выделяется фиксированное количество байт (но не более 254). Кроме того, на каждое такое поле выделается один дополнительный бит (именно бит, а не байт) в специальном служебном поле с именем _NullFlags. Если поле может принимать значение NULL, то 2 бита. Причем под признак использования значения NULL отводится второй бит. Поле _NullFlags - это служебное (скрытое) поле, которое не видит даже программист.

Если количество символов в поле типа VarChar меньше, чем размерность поля, то в соответствующем бите служебного поля _NullFlags выставляется флаг (значение 1), а в самом последнем символе, отведенном под хранение поля типа VarChar, указывается общее количество символов, хранящееся в данном поле. Все не использованные символы в поле типа VarChar заполняются пробелами.

Если количество символов в поле типа VarChar равно размерности поля, то в соответствующем бите служебного поля _NullFlags сбрасывается флаг (значение 0) и содержимое поле VarChar ничем не отличается от содержимого поля Character.
...
Рейтинг: 0 / 0
05.09.2007, 16:44
    #34778515
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужно ли делать Memo-поле?
Спасибо Владимир!
Получается, что использование VarChar в VFP (в отличии от MS SQL) только экономит кол-во комнад ALLTRIM, но не место на диске :)

С уважением, Алексей
...
Рейтинг: 0 / 0
06.09.2007, 08:11
    #34779725
Снифф
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужно ли делать Memo-поле?
прошелмимоони повторяются?? или всегда иникальные (различные)обижаите!! конечно уникальные
были бы повторяющиеся тогда вынесли в отдельную таблицу
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / нужно ли делать Memo-поле? / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]