Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Кластерный индекс по полю типа GUID? Маразм или так и надо? 
:(
    Опции темы
Vit
Дата 5.7.2005, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 5
Всего: 207



Есть таблица, размер ~40 000 000 записей, первичный ключ поле типа GUID (кластерный индекс). На таблице идут в основном insert с умеренным количеством Select и очень редкими Update и Delete. Количество запросов к таблице достаточно велико, может достигать десятков в секунду.

В связи с этим возник вопрос об опастности кластерного индекса по полю GUID,
1) Как физически сортируется поле GUID?
2) По какому принципу сравниваются GUID - какой больше а какой меньше?
3) Всегда ли вновь сгенерированный GUID больше предыдущего?
4) Всегда ли вновь сгенерированный GUID больше предыдущего если генерирует один и тот же компьютер?
5) Всегда ли вновь сгенерированный GUID больше предыдущего если генерирует его сам SQL сервер?

Другими словами, те многочисленные insert которые идут в таблицу - всегда ли записи будут попадать в конец таблицы, или каждый insert будет приводить к очень напряжной перестройке кластерного индекса.




--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Рассада
Дата 18.8.2005, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 13.7.2005

Репутация: 1
Всего: 1



Прямого ответа не имею, но предлагаю:
1. А нужен ли по этому полю кластерный индекс? Участвует ли в запросах на выборку поле GUID?
2. Что по поводу индексов говорит Index Tunning Wizard?
3. Здесь по поводу многочисленных инсертов и вообще:
http://blogs.gotdotnet.ru/personal/Bezzus/...34-3f54bf198db9
4. Есть такая вот фраза:
http://www.aspnetmania.com/Forums/ForumMessage/72207.html
PM MAIL   Вверх
Дрон
Дата 8.10.2005, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 93



Цитата(Vit @ 5.7.2005, 19:50)
3) Всегда ли вновь сгенерированный GUID больше предыдущего?

Нет.


--------------------
Да. Именно так.
PM   Вверх
MakNik
Дата 18.10.2006, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 5.4.2006

Репутация: нет
Всего: 0



так как решился вопрос?
PM   Вверх
Vit
Дата 18.10.2006, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 5
Всего: 207



Да вроде нормально...


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
kobra
Дата 18.10.2006, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 15.6.2005
Где: Грузия, Тбилиси

Репутация: 5
Всего: 9



недавно читал статью, к сажалению не помню где это было, и там на примерах доказывалос что клястерни индекс не приводит к физическому перестраиванию записеи. честно говоря я знал наоборот. 
PM MAIL   Вверх
Shiny
Дата 27.10.2006, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


разбойница
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 18.9.2006
Где: Киев

Репутация: нет
Всего: 6



Цитата(Vit @  5.7.2005,  18:50 Найти цитируемый пост)
В связи с этим возник вопрос об опастности кластерного индекса по полю GUID,
1) Как физически сортируется поле GUID?
2) По какому принципу сравниваются GUID - какой больше а какой меньше?
3) Всегда ли вновь сгенерированный GUID больше предыдущего?
4) Всегда ли вновь сгенерированный GUID больше предыдущего если генерирует один и тот же компьютер?
5) Всегда ли вновь сгенерированный GUID больше предыдущего если генерирует его сам SQL сервер?


Цитата(Vit @  18.10.2006,  16:39 Найти цитируемый пост)
а вроде нормально... 


А можно озвучить ответы на вопросы?
Когда-то для меня было актуально, но ответы так и не нашла
В результате проведённых опытов выяснила, что:
2) как строка
3) нет
4) да

А что у Вас?
PM MAIL   Вверх
Дрон
Дата 27.10.2006, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 93



http://www.sql-server-performance.com/zn_g...performance.asp

Цитата
Recently, I was asked my opinion on a database design schema our company developers were working on. When I heard they were using GUID's (Global Unique Identifier) as PK's (primary keys), my jaw about dropped.

Хорошее начало.

Но дальше он приводит свои тесты из которых ясно, что в общем-то всё не так уж и плохо с GUID-ами в роли PK.



--------------------
Да. Именно так.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0524 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.