Задать вопрос
  • Нужны доводы против последовательных целочисленных индексов

    @Romanych
    Вообще говоря использовать uniqueidentifier'а в качестве Primary Key плохая затея. Говорю это из своего опыта. Когда проект только начинался мы бездумно сделали все PK c типом uniqueidentifier, и через год, когда количество записей стало исчисляться миллионами, база данных начал непонятно тупить. Тогда мы узнали что такое фрагментация индексов. Фрагментация кластерного индекса очень сильно замедляет вставку. Говоря о выборке, банальные join'ы 100 на 100 записей стали медленными, потому что серверу надо делать множество сиков на диске для перехода к нужной записи. И не говорите о плохих индексах, в данном случае мы выжали всё что могли, и именно сики стали головной болью. Перенос огромной базы на SSD тоже на самая безопасная операция. Так уже больше года мы потихоньку меняем старые Guid'ы на int/bigint и с болью вспоминаем то неосмотрительное решение.

    Я бы рекомендовал вам разработать архитектуру с хорошим слоем проверки безопасности. И тогда перебор id ничего не даст злоумышленнику. Также никто не мешает добавить ещё одну колонку SecureId и использовать её в местах, которые совсем-совсем не хочется показывать наружу.
    Ответ написан
    3 комментария