【问题标题】:What are the downsides of a text-based primary index基于文本的主索引的缺点是什么
【发布时间】:2011-02-24 06:54:04
【问题描述】:

我正在开发一个网站,我想制作漂亮的网址。这些网址用于我将要进行的某些扩展。例如我想要一个这样的网址:

http://www.mydomain.com/extensions/tester
http://www.mydomain.com/extensions/worker
http://www.mydomain.com/extensions/this-is-a-really-long-ext-name

所以测试人员、工人等都是数据库中的记录。

现在我的主要问题是创建数据库和查询的最佳方法是什么。我的第一个想法是将 url 的名称部分作为主索引。

注意:所有扩展都将有一个唯一的名称。

那么 sql 中的查询将只是 'SELECT * FROM ? WHERE name = last-part-of-uri'

这样做有什么缺点,我认为索引会变得很长。还是最好为字段使用主索引,然后只为名称使用普通索引。

主索引并没有真正的用途,也许只是在后端。

【问题讨论】:

    标签: mysql database database-design indexing


    【解决方案1】:

    数字索引的主要优点 - 它是抽象性。
    因此,您始终可以重命名有意义的部分,但保留唯一索引。
    这就是为什么,我猜,SO 对问题使用数字主索引:
    https://stackoverflow.com/questions/2914909/what-are-the-downsides-of-a-text-based-primary-index

    【讨论】:

    • +1 啊,很好,这样你就可以使用内部索引进行查找,并且为了使其易于阅读,你有最后一部分。我想我会用这个方法。
    【解决方案2】:

    主要的缺点是,当您想要重命名 url 的一部分时,您需要更新主键。跟踪依赖项会很有趣。

    【讨论】:

      【解决方案3】:

      取决于您的网站和数据库结构。如果重要的部分是没有像您的问题那样的随机数的清晰网址。在主键中包含文本会更好。而且你不能为你的网址使用重复的标题。例如在 SO 中,问题可以有相同的标题。

      如果 SEO 对您来说更重要,最好对文本进行主索引。

      【讨论】:

        猜你喜欢
        • 2010-09-30
        • 2010-09-11
        • 2011-04-13
        • 1970-01-01
        • 1970-01-01
        • 2010-09-21
        • 1970-01-01
        • 1970-01-01
        • 2018-09-02
        相关资源
        最近更新 更多