我正在使用Postgres数据库。在我的数据库中有一张Articles表,其中包含一个名为url的列用于存储URL slugs。这样做是为了让我能够将该表中的文章展示在网站上,而不是像“example.com/23323”那样,而是像“example.com/Funny_Thing_Happened_to_Me”这样。实现这个功能很简单,随着文章数量的增加,我在url slugs上添加了一个索引。
但是我后来意识到,虽然我希望在URL中显示大写字母,但我希望它们在用户输入时不区分大小写,并且我希望以不区分大小写的方式强制执行URL的唯一性。
是否有一种简单的方法可以快速地进行不区分大小写的文本列搜索,并以不区分大小写的方式强制执行唯一性?
我尝试过使用类似“lower(url) =”这样的搜索方式,但这会导致Postgres决定不使用索引。
但是我后来意识到,虽然我希望在URL中显示大写字母,但我希望它们在用户输入时不区分大小写,并且我希望以不区分大小写的方式强制执行URL的唯一性。
是否有一种简单的方法可以快速地进行不区分大小写的文本列搜索,并以不区分大小写的方式强制执行唯一性?
我尝试过使用类似“lower(url) =”这样的搜索方式,但这会导致Postgres决定不使用索引。