Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.09;
Скачать: CL | DM;

Вниз

физическое хранение информации в MSSQL   Найти похожие ветки 

 
Maverick   (2005-08-29 18:10) [0]

Вопрос: если я создам таблицу вида
create table
(field1 varchar(4000))
но в поле буду хранить только по 1000 символов,
сколько строк таблицы будет содержаться на одной странице, 2 или 8?


 
Nikolay M. ©   (2005-08-29 18:17) [1]

DBCC SHOWCONTIG ("моя таблица")
+
BOL: Table and Index Architecture


 
Maverick   (2005-08-29 18:27) [2]

похоже, что все-таки 2...


 
Nikolay M. ©   (2005-08-29 18:33) [3]

Ты ничего не понял. 2+2=4 только при выполнении ряда аксиом и условий. Точно так же на твой вопрос НЕ существует однозначного ответа. Есть ли кластерный и прочие индексы? Как часто производится редактирование таблицы (степень фрагментации)? Или тебя интересует любая цифра, полученная с помощью арифметических действий, навжно, насколько далека она будет от действительности? Тогда лучше используй random().

Кстати, самое главное: а на кой тебе это нужно?


 
Desdechado ©   (2005-08-29 18:53) [4]

в оракле, например, для "улучшения производительности" если реальная длина varchar < 2000, то хранится все равно 2000, если больше, то реальная длина


 
evvcom ©   (2005-08-30 08:55) [5]


> если реальная длина varchar < 2000, то хранится все равно
> 2000

Нам на курсах говорили, что хранится столько, сколько есть. Вопрос только в том, где это хранится. Если до (не помню конкретное число, может и 2000, но по-моему все же 4 кБ), то тут же со всей остальной строкой, если больше, то часть со строкой, остальное там же, где и LOB-данные.


 
Ega23 ©   (2005-08-30 09:46) [6]

AFAIK, если varchar, то в таблице у тебя 4 байта всегда будет. А сами данные - где-то в heap-е сервера


 
Anatoly Podgoretsky ©   (2005-08-30 10:06) [7]

evvcom ©   (30.08.05 08:55) [5]
Ega23 ©   (30.08.05 09:46) [6]

Сложный вопрос, противоречивый, я не смог найти в BOL информации по этому поводу. А разные специалисты говорят по разному.


 
Maverick   (2005-08-30 10:07) [8]

ок, понял. спасибо :)


 
Ega23 ©   (2005-08-30 10:18) [9]

2 Anatoly Podgoretsky ©   (30.08.05 10:06) [7]
Сложный вопрос, противоречивый, я не смог найти в BOL информации по этому поводу. А разные специалисты говорят по разному.

Гм... Есть идея, как проверить. Насколько я помню, существует ограничение по количеству байт на 1 рекорд в таблице. Что-то типа 4048 байт. Можно попробовать создать таблицу из 1000 полей varchar(1000).


 
Nikolay M. ©   (2005-08-30 10:23) [10]


> Maverick

Все-таки хотелось бы услышать от докладчика, зачем понадобилось сокровенное знание о страницах? :)


 
Maverick   (2005-08-30 10:33) [11]

честно? :)
просто для понимания. вот сидел - создавал таблицы, индексы. и вдруг возник такой вопрос, а ответа найти не смог.


 
Nikolay M. ©   (2005-08-30 11:09) [12]


> Maverick   (30.08.05 10:33) [11]


Физическое устройство хранения данных вряд-ли пригодится, а вот по индексам рекомендуется к прочтению:

http://www.sql.ru/articles/mssql/03013101Indexes.shtml
http://www.sql.ru/articles/mssql/01062201IndexesAndPerformance.shtml


 
Anatoly Podgoretsky ©   (2005-08-30 12:43) [13]

Ega23 ©   (30.08.05 10:18) [9]
8160 байт из них кажется 8060 для пользователя.


 
Anatoly Podgoretsky ©   (2005-08-30 12:44) [14]

Даже не совсем так, это ограничение на возращаемый запрос.


 
Maverick   (2005-08-30 13:38) [15]

>Nikolay M.

Спасибо за ссылки


 
evvcom ©   (2005-08-30 15:05) [16]

Кстати, [5] я писал как замечание к [4], т.е. имея в виду Oracle. Естественно на MSSQL физически все это может храниться совсем иначе.



Страницы: 1 вся ветка

Текущий архив: 2005.10.09;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.043 c
2-1125064034
гвест
2005-08-26 17:47
2005.10.09
скроллбары


14-1126494834
Андрей Николаевич
2005-09-12 07:13
2005.10.09
СисАдмин "вешает лапшу на уши" или я не прав?


1-1127105063
Bonjovy
2005-09-19 08:44
2005.10.09
MDI-прога и запуск зарегенных за ней файлов


1-1127141224
jeka_t
2005-09-19 18:47
2005.10.09
Как распечатать программно файл печати (PLT, PRN)?


14-1127286631
IceBeerg
2005-09-21 11:10
2005.10.09
За F1 ились?