Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Строки в странице!  [new]
0lek
Member [заблокирован]

Откуда:
Сообщений: 10
Привет. Недавно начал изучать SQL Server и столкнулся с таким вопросом:
Есть страница, фиксированый размер которой 8 кб. Так вот, данный которые расположенные на странице должны быть одного типа, правильно? Какой рамер строки допустим и возможно чтобы одна строка содержала разные данные или новые данные долны начинаться с новой строки... ??что-то я вообще запутался.....

К сообщению приложен файл. Размер - 6Kb
2 ноя 15, 12:27    [18358308]     Ответить | Цитировать Сообщить модератору
 Re: Строки в странице!  [new]
Glory
Member

Откуда:
Сообщений: 104751
0lek
Какой рамер строки допустим

Не больше страницы

0lek
возможно чтобы одна строка содержала разные данные

Разумеется. Для этого строку обычно делят на поля.

0lek
или новые данные долны начинаться с новой строки

Что такое "новые данные"

0lek
что-то я вообще запутался

Ага.
2 ноя 15, 12:32    [18358338]     Ответить | Цитировать Сообщить модератору
 Re: Строки в странице!  [new]
0lek
Member [заблокирован]

Откуда:
Сообщений: 10
Glory,
Пример который я нарисовал, правильный? может идти строка с данными, потом заканчиваться и начинаться новая?
2 ноя 15, 12:34    [18358349]     Ответить | Цитировать Сообщить модератору
 Re: Строки в странице!  [new]
Glory
Member

Откуда:
Сообщений: 104751
0lek
Пример который я нарисовал, правильный?

Для ответа на этот вопрос нужно видеть скрипт создания вашей таблицы и заполнения ее данными

0lek
может идти строка с данными, потом заканчиваться и начинаться новая?

Разумеется.
На странице помещается целое число записей. Не дробное.
2 ноя 15, 12:36    [18358357]     Ответить | Цитировать Сообщить модератору
 Re: Строки в странице!  [new]
0lek
Member [заблокирован]

Откуда:
Сообщений: 10
Glory,
это значит размер строки может быть как фиксирован так и нет в приделах одной страницы?
2 ноя 15, 12:39    [18358372]     Ответить | Цитировать Сообщить модератору
 Re: Строки в странице!  [new]
dark_DBa_dmin
Member

Откуда:
Сообщений: 105
Из https://technet.microsoft.com/ru-ru/library/ms190969(v=sql.105).aspx
Строка не может разделить страницу на части, однако часть строки может быть перемещена на другую страницу, чтобы строка действительно была очень большой. Максимальный объем данных и служебного кода, содержащихся в одной строке на странице, составляет 8 060 байт (8 КБ). Однако сюда не включены данные, хранимые в типе страницы «Текст/изображение». Это ограничение не такое строгое для таблиц, содержащих столбцы, относящиеся к типам данных varchar, nvarchar, varbinary или sql_variant. Когда общий размер строк всех фиксированных и переменных столбцов в таблице превышает предел в 8 060 байт, SQL Server динамически перемещает один или более столбцов переменной длины на страницы в единице распределения ROW_OVERFLOW_DATA, начиная со столбца с наибольшей шириной. Это действие выполняется всегда, когда в результате операций вставки или обновления общий размер строки выходит за предел в 8 060 байт. Когда происходит перемещение столбца на страницу в единице распределения ROW_OVERFLOW_DATA, 24-байтовый указатель на исходной странице в единице распределения IN_ROW_DATA сохраняется. Если при последующей выполняемой операции размер строки уменьшается, SQL Server динамически перемещает столбцы обратно на исходную страницу данных
2 ноя 15, 12:42    [18358386]     Ответить | Цитировать Сообщить модератору
 Re: Строки в странице!  [new]
Glory
Member

Откуда:
Сообщений: 104751
0lek
это значит размер строки может быть как фиксирован так и нет в приделах одной страницы?

Еще раз - это завист от того, как вы определите все поля вашей таблицы
2 ноя 15, 12:43    [18358392]     Ответить | Цитировать Сообщить модератору
 Re: Строки в странице!  [new]
0lek
Member [заблокирован]

Откуда:
Сообщений: 10
dark_DBa_dmin,

А как насчет смещения строк, если смотреть на пример, который в верху, счет на чинается не с начала строки, а с начала новой записи, верно? тоесть ели в одной строке три разных записи, это обозначает что смещение будет считаться дважны в одной строке?
2 ноя 15, 12:46    [18358408]     Ответить | Цитировать Сообщить модератору
 Re: Строки в странице!  [new]
Glory
Member

Откуда:
Сообщений: 104751
0lek
если смотреть на пример, который в верху,

Там нет примера
Там абстрактная цветная картинка

0lek
тоесть ели в одной строке три разных записи

Вы бы сначала научились терминами пользоваться.
Строка есть синоним записи.
2 ноя 15, 12:49    [18358432]     Ответить | Цитировать Сообщить модератору
 Re: Строки в странице!  [new]
0lek
Member [заблокирован]

Откуда:
Сообщений: 10
Glory,
это понял :) спасибо!
Не могли бы еще объяснить как учитываются смещения строк...?
2 ноя 15, 12:49    [18358433]     Ответить | Цитировать Сообщить модератору
 Re: Строки в странице!  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
0lek
Привет. Недавно начал изучать SQL Server и столкнулся с таким вопросом:
Есть страница, фиксированый размер которой 8 кб. Так вот, данный которые расположенные на странице должны быть одного типа, правильно? Какой рамер строки допустим и возможно чтобы одна строка содержала разные данные или новые данные долны начинаться с новой строки... ??что-то я вообще запутался.....


оффтопег: зачем вы начав изучать SQL Server ушли в такую глубокую даль?
2 ноя 15, 12:50    [18358436]     Ответить | Цитировать Сообщить модератору
 Re: Строки в странице!  [new]
Glory
Member

Откуда:
Сообщений: 104751
0lek
Не могли бы еще объяснить как учитываются смещения строк...?

Какие еще смещения ?
если вас интересует физическая структура страницы данных, то есть сотни источников, где она подробно расписана
А для практических экспериментов есть команда DBCC PAGE
2 ноя 15, 12:51    [18358448]     Ответить | Цитировать Сообщить модератору
 Re: Строки в странице!  [new]
dark_DBa_dmin
Member

Откуда:
Сообщений: 105
Winnipuh
0lek
Привет. Недавно начал изучать SQL Server и столкнулся с таким вопросом:
Есть страница, фиксированый размер которой 8 кб. Так вот, данный которые расположенные на странице должны быть одного типа, правильно? Какой рамер строки допустим и возможно чтобы одна строка содержала разные данные или новые данные долны начинаться с новой строки... ??что-то я вообще запутался.....


оффтопег: зачем вы начав изучать SQL Server ушли в такую глубокую даль?


А по моему это правильно. Только надо поэтапно изучать, для примера сначала изучить типы а потом уже хотя бы как они хранятся.
2 ноя 15, 12:53    [18358454]     Ответить | Цитировать Сообщить модератору
 Re: Строки в странице!  [new]
Glory
Member

Откуда:
Сообщений: 104751
dark_DBa_dmin
А по моему это правильно.

Особенно правильным является видение "в одной строке три разных записи"
2 ноя 15, 12:56    [18358483]     Ответить | Цитировать Сообщить модератору
 Re: Строки в странице!  [new]
0lek
Member [заблокирован]

Откуда:
Сообщений: 10
Каждый тип страницы содержит только данные такогоже типа, так? тоесть тип страницы «Текст/изображение» будет содержать только «Текст/изображение»?
2 ноя 15, 12:58    [18358513]     Ответить | Цитировать Сообщить модератору
 Re: Строки в странице!  [new]
dark_DBa_dmin
Member

Откуда:
Сообщений: 105
Glory
dark_DBa_dmin
А по моему это правильно.

Особенно правильным является видение "в одной строке три разных записи"


:) Ну да. В данном случае надо начать с терминологии.
2 ноя 15, 12:59    [18358519]     Ответить | Цитировать Сообщить модератору
 Re: Строки в странице!  [new]
dark_DBa_dmin
Member

Откуда:
Сообщений: 105
0lek
Каждый тип страницы содержит только данные такогоже типа, так? тоесть тип страницы «Текст/изображение» будет содержать только «Текст/изображение»?


Ага. Вкратце, SQL использует единицы распределения и IAM страницы чтобы при записи найти страницу с нужным типом.
2 ноя 15, 13:15    [18358637]     Ответить | Цитировать Сообщить модератору
 Re: Строки в странице!  [new]
0lek
Member [заблокирован]

Откуда:
Сообщений: 10
dark_DBa_dmin,
Спасибо!
2 ноя 15, 13:32    [18358767]     Ответить | Цитировать Сообщить модератору
 Re: Строки в странице!  [new]
dark_DBa_dmin
Member

Откуда:
Сообщений: 105
Хорошая статья про IAM страницы http://www.sqlskills.com/blogs/paul/inside-the-storage-engine-iam-pages-iam-chains-and-allocation-units/
2 ноя 15, 13:39    [18358849]     Ответить | Цитировать Сообщить модератору
 Re: Строки в странице!  [new]
Pavel1211
Member

Откуда: Екатеринбург
Сообщений: 205
0lek,

Поизучайте:
&index=14&list=PLVDtSXyekCw-VW_xmCXs544I1bPfCdFs4

А также:
http://www.sqlskills.com/blogs/paul/inside-the-storage-engine-anatomy-of-a-page/
https://www.techdays.ru/videos/7690.html
3 ноя 15, 08:50    [18362316]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить