Ну, очень простая альтернатива - трюк, который использует SO; включите как внутренний идентификатор , так и часть, удобную для поиска, т.е.
/598100/kak-luchshe-vsego-perepisyvat-url-adres-stati-v-bloge
просто посмотрите только на идентификатор. С маршрутами ASP.NET MVC это тривиально.
Если вы идете другим маршрутом (без идентификатора в маршруте); просто сохраните искаженное имя / путь в БД - тогда ваш запрос равен равенство = очень эффективен.