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

Откуда:
Сообщений: 7
Есть таблица в которой происходит частое удаление и добавление большого количества записей.

В MySQL таблица была без id, и проблем не было!

В SQL Azure пытаюсь создать таблицу без identity, но данные в эту таблицы отказываются вставляться!

Подскажите как лучше сконструировать таблицу? Я думаю что если таблица будет с identity, то он быстро достигнет максимального значения.
22 ноя 12, 09:13    [13511346]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблицы без identity в SQL Azure?  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
DmitriyKrk
В SQL Azure пытаюсь создать таблицу без identity, но данные в эту таблицы отказываются вставляться!

и сообщение с ошибкой: "а вот не буду вставлять"

DmitriyKrk
Я думаю что если таблица будет с identity, то он быстро достигнет максимального значения.

а посчитать?! если поле с типом bigint и даже возьмем значения с 0 до максимума с плюсом в 9 223 372 036 854 775 807

предположим вы умудряетесь вставлять по 1 млн. в секунду!!!
тогда вам хватит на почти 300 000 лет!!!! ну да...быстро кончится
22 ноя 12, 09:22    [13511378]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблицы без identity в SQL Azure?  [new]
DmitriyKrk
Member

Откуда:
Сообщений: 7
автор
и сообщение с ошибкой: "а вот не буду вставлять"

почти: Tables without a clustered index are not supported in this version of SQL Server. Please create a clustered index and try again.

автор
а посчитать?! если поле с типом bigint и даже возьмем значения с 0 до максимума с плюсом в 9 223 372 036 854 775 807


Ну так то да =), просто зачем хранить информацию которая мне не нужна, хотелось бы без id!
22 ноя 12, 09:29    [13511403]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблицы без identity в SQL Azure?  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
DmitriyKrk
Tables without a clustered index are not supported in this version of SQL Server. Please create a clustered index and try again.

а при чем тут тогда identity? вы сообщение об ошибке понимаете?
22 ноя 12, 09:32    [13511412]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблицы без identity в SQL Azure?  [new]
DmitriyKrk
Member

Откуда:
Сообщений: 7
Просто если identity есть, то такая ошибка не появляется!
Как сконструировать таблицу что бы не было поля идентификатора и не выходила данная ошибка?
22 ноя 12, 09:35    [13511425]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблицы без identity в SQL Azure?  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
DmitriyKrk
Просто если identity есть, то такая ошибка не появляется!
Как сконструировать таблицу что бы не было поля идентификатора и не выходила данная ошибка?


выполнитьт условие SQL Azure...не умеет он работать с таблицами-кучами
22 ноя 12, 09:40    [13511449]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблицы без identity в SQL Azure?  [new]
AxuliON
Member

Откуда: оттуда, и на лыжах
Сообщений: 574
DmitriyKrk
Просто если identity есть, то такая ошибка не появляется!
Как сконструировать таблицу что бы не было поля идентификатора и не выходила данная ошибка?

Просто при появлении ключа с identity на него автоматом вешается кластерный индекс (если такового нет)
Сделайте индекс кластерный на поле в Вашей таблице. Желательно на уникальное или по которому чаще всего происходит поиск по условию.
22 ноя 12, 09:46    [13511480]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблицы без identity в SQL Azure?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31439
AxuliON
Просто при появлении ключа с identity на него автоматом вешается кластерный индекс (если такового нет)
Сам не вешается.

DmitriyKrk просто не понимает, что он делает и не читает, что ему говорит сервер :-)
Он просто жмакает разные галочки в ГУИ, ошибка то есть, то нет.

2 DmitriyKrk

Почитайте хоть про identity, primary key constraint, clustered index...

И не заморачивайтесь лишними данными, сначала нужно научиться делать базовые простые вещи, а потом уже оптимизировать и экономить байты - так будет продуктивнее.
22 ноя 12, 09:52    [13511506]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблицы без identity в SQL Azure?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31439
alexeyvg
AxuliON
Просто при появлении ключа с identity на него автоматом вешается кластерный индекс (если такового нет)
Сам не вешается.
Неточно сказал - сам вешается, но DmitriyKrk не писал про ключ, он писал только про свойство identity, это всё таки большая разница.
22 ноя 12, 09:53    [13511511]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблицы без identity в SQL Azure?  [new]
DmitriyKrk
Member

Откуда:
Сообщений: 7
автор
И не заморачивайтесь лишними данными, сначала нужно научиться делать базовые простые вещи, а потом уже оптимизировать и экономить байты - так будет продуктивнее.


Базовые вещи делать умею, что не умею пытаюсь разобраться.

Переношу проект с mySQL на Azure, и хотелось бы сразу сделать как можно более оптимизировано, что бы не переписывать в дальнейшем.
22 ноя 12, 10:09    [13511571]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблицы без identity в SQL Azure?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31439
DmitriyKrk
Переношу проект с mySQL на Azure, и хотелось бы сразу сделать как можно более оптимизировано, что бы не переписывать в дальнейшем.
Ажур требует кластерного индекса.
А нормальный дизайн базы требует ПК.

Так что нужно либо сделать при переносе ПК в этой таблице кластерным, либо вообще сделать ПК, если его нет, в том числе возможно и добавлением IDENTITY ID, если нет более правильных вариантов.
22 ноя 12, 10:15    [13511585]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблицы без identity в SQL Azure?  [new]
DmitriyKrk
Member

Откуда:
Сообщений: 7
Создание не уникального кластерного индекса по полю помогло, спасибо!

автор
А нормальный дизайн базы требует ПК

Есть таблицы в которых ПК не нужен, в которых проще удалить все определенные записи и вставить новые. Пока на mySQL такая логика не приводила к тормозам, одна из таких таблица на сегодняшний день содержит около 20 млн записей. Надеюсь и в Azure проблем не возникнет.
22 ноя 12, 10:36    [13511649]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблицы без identity в SQL Azure?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31439
DmitriyKrk
Есть таблицы в которых ПК не нужен, в которых проще удалить все определенные записи и вставить новые.
Конечно, бывает такое, но всё таки это скорее исключение, обычно нужно как то отделять записи друг от друга, обычно они разные.

Хотя да, всякое бывает...
22 ноя 12, 11:09    [13511794]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить