Это не должно существенно затруднять запросы SELECT, особенно если вы правильно проиндексировали столбец. Это может потенциально повлиять на вставки, но это не проблема, если GUID не является частью кластерного индекса. Это также может повлиять на требования к хранилищу, в зависимости от того, сколько данных вы собираетесь хранить, поскольку оно (очевидно) намного больше.
Подробное обсуждение здесь: http://www.sql -server-performance.com / 2005 / guid-performance / хотя это касается 2005 года, я считаю, что все пункты по-прежнему актуальны.
** РЕДАКТИРОВАТЬ: простой пример индекса **
«Покрывающий индекс» означает, что у вас есть индекс, включающий рассматриваемый столбец. Кластерный индекс означает, что записи на самом деле хранятся в порядке, указанном в индексе, некластеризованный индекс означает, что индекс содержит указатель на сохраненное местоположение. Рассмотрим разницу как словарь по сравнению с индексом книги. Словарь сортируется в порядке слов и сохраняет все свои данные в этом порядке (кластеризованные), в то время как индекс сортируется в порядке слов, но имеет указатель на номера страниц, которые не в том же порядке (некластеризованы).
Итак, чтобы создать индекс для вашего столбца, вы должны сделать:
CREATE INDEX idx_posts_specialId
ON Posts (specialID);
GO
Значение по умолчанию некластеризовано, но вы можете добавить ключевое слово «некластеризовано», если хотите быть явным.