Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 3 сообщений
Cообщения с меткой

rfc4122 - Самое интересное в блогах

Следующие 30  »
rss_habr

Эффективная генерация сортируемых GUID для первичных ключей БД на клиенте

Вторник, 10 Мая 2022 г. 18:46 (ссылка)

Использовать Guid.NewGuid() в качестве первичного ключа в базе данных — плохая с точки зрения производительности идея. Это связано с тем, что в SQL Server, MySQL и некоторых других БД для первичных ключей создаются кластерные индексы, которые определяют, как строки будут храниться на диске. GUID — это по сути случайное значение, поэтому новая строка может попасть в начало, середину или конец таблицы. Серверу БД в этом случае придётся перемещать другие строки, что приведёт к фрагментации данных, а их извлечение может занять больше времени, если вам нужно извлечь несколько добавленных последовательно записей (например, когда вы добавляете набор связанных сущностей, которые потом будут извлекаться вместе — БД понадобится прочитать данные из разрозненных страниц вместо последовательного чтения набора данных).

Поэтому, чаще всего, лучше пользоваться сгенерированными БД первичными ключами. В SQL Server, например, есть функция NEWSEQUENTIALID(), которая генерирует последовательные GUIDы. Зачем может понадобиться генерировать ключи именно на клиенте и как это правильно сделать?

Читать далее

https://habr.com/ru/post/665024/?utm_source=habrahabr&utm_medium=rss&utm_campaign=665024

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

Следующие 30  »

<rfc4122 - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda