У меня есть CMS, которая имеет два метода для запроса содержимого. Тот, который запрашивает по id, а другой - по имени контента.
ContentManager.Select(12);
или
ContentManager.Select("Content Name");
Способ, которым я вижу первый, будет быстрее, потому что идентификатор является индексом и не требует сравнения строк. Хотя со вторым гораздо проще работать.
Я работал по причинам технического обслуживания со вторым. Но если я изменю имя контента, выбор, очевидно, больше не будет работать. Но идентификатор должен быть только на уровне базы данных и не виден в формах CMS.
Редактировать: Кроме того, если контент будет удален и вставлен заново, будет работать выбор строки, а выбор идентификатора не будет.
Я не могу прийти к общей точке зрения между этими двумя подходами.