powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Поясните про размер таблиц
16 сообщений из 16, страница 1 из 1
Поясните про размер таблиц
    #39584982
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть две таблицы, в обе вставлено 5 000 000 рандомных гуидов.
Код: sql
1.
2.
CREATE TABLE dbo.VARCHAR_GUIDS  ( ID varchar(36) primary key )  
CREATE TABLE dbo.VARCHAR_GUIDS_2 ( ID varchar(36) primary key, TrueGuid   AS  (cast(ID as uniqueidentifier)) )  



На диске они занимают одинаково мест вплоть до килобайта

Код: sql
1.
2.
3.
                                  Кб            Мб       
VARCHAR_GUIDS	dbo	5000000   245544	239.79 
VARCHAR_GUIDS_2	dbo	5000000  245544	  239.79 



Почему так выходит?
...
Рейтинг: 0 / 0
Поясните про размер таблиц
    #39584984
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так TrueGuid вычисляемое
...
Рейтинг: 0 / 0
Поясните про размер таблиц
    #39584986
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот если б PERSISTED было, то тогда отличия бы были
...
Рейтинг: 0 / 0
Поясните про размер таблиц
    #39584994
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cammomile,

A computed column is a virtual column that is not physically stored in the table, unless the column is marked PERSISTED.
...
Рейтинг: 0 / 0
Поясните про размер таблиц
    #39585001
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ох, позорище мне.
Правда я ни разу не пользовался вычисляемыми столбцами, вообще!
А как работает индекс на вычисляемом поле? Автоматически превращает его в "персистед"?
...
Рейтинг: 0 / 0
Поясните про размер таблиц
    #39585002
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Судя по всему, так и есть. С некластерным индексом места стало в два раза больше. Ну вот и разобрались.
...
Рейтинг: 0 / 0
Поясните про размер таблиц
    #39585011
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cammomile,

авторАвтоматически превращает его в "персистед"? нет, сам индекс место занимает
...
Рейтинг: 0 / 0
Поясните про размер таблиц
    #39585014
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но индекс же должен иметь какие-то там значения физически, значит эта колонка становится "овеществленной". Хоть и внутри индекса.
...
Рейтинг: 0 / 0
Поясните про размер таблиц
    #39585023
aleksrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CammomileНо индекс же должен иметь какие-то там значения физически, значит эта колонка становится "овеществленной". Хоть и внутри индекса.

В таком контексте да. Если у вас вычисляемое поле 4 последнии цифры паспорта и оно не persisted, то в некласт индексе будут эти 4 цифры.
...
Рейтинг: 0 / 0
Поясните про размер таблиц
    #39585035
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleksrovCammomileНо индекс же должен иметь какие-то там значения физически, значит эта колонка становится "овеществленной". Хоть и внутри индекса.

В таком контексте да. Если у вас вычисляемое поле 4 последнии цифры паспорта и оно не persisted, то в некласт индексе будут эти 4 цифры.
а если оно persisted, то будут буквы?
...
Рейтинг: 0 / 0
Поясните про размер таблиц
    #39585041
aleksrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaK,

Согласен, формулировка корявая, и если persisted тоже.
...
Рейтинг: 0 / 0
Поясните про размер таблиц
    #39585121
04cf9f9576a6f15
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CammomileОх, позорище мне.
Правда я ни разу не пользовался вычисляемыми столбцами, вообще!
А как работает индекс на вычисляемом поле? Автоматически превращает его в "персистед"?Насколько я помню, нельзя построить индекс по вычисляемому полю, если явно не объявить его PERSISTED.

#Хэш=
...
Рейтинг: 0 / 0
Поясните про размер таблиц
    #39585124
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
04cf9f9576a6f15CammomileОх, позорище мне.
Правда я ни разу не пользовался вычисляемыми столбцами, вообще!
А как работает индекс на вычисляемом поле? Автоматически превращает его в "персистед"?Насколько я помню, нельзя построить индекс по вычисляемому полю, если явно не объявить его PERSISTED.

#Хэш=
вы неправильно помните
...
Рейтинг: 0 / 0
Поясните про размер таблиц
    #39585132
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
04cf9f9576a6f15CammomileОх, позорище мне.
Правда я ни разу не пользовался вычисляемыми столбцами, вообще!
А как работает индекс на вычисляемом поле? Автоматически превращает его в "персистед"?Насколько я помню, нельзя построить индекс по вычисляемому полю, если явно не объявить его PERSISTED.

#Хэш=Нет такого требования: тынц .
...
Рейтинг: 0 / 0
Поясните про размер таблиц
    #39585139
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cammomile,

авторНо индекс же должен иметь какие-то там значения физически, значит эта колонка становится "овеществленной". Хоть и внутри индекса.
в общем ответ уже есть, в индексе вы матереализуете значения, при этом индекс будет изменяться когда будут затронуты колонки участвующие в расчёте
...
Рейтинг: 0 / 0
Поясните про размер таблиц
    #39585355
04cf9f9576a6f15
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA04cf9f9576a6f15пропущено...
Насколько я помню, нельзя построить индекс по вычисляемому полю, если явно не объявить его PERSISTED.

#Хэш=Нет такого требования: тынц .Благодарю. Я тогда мутил работу с регулярными выражениями на CLR, вот в памяти и отложилось, что это обязательно. Для более простых случаев действительно можно без этого.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Поясните про размер таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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