【问题标题】:MySQL Unique Index on Varchar Field - Pros & Cons?Varchar 字段上的 MySQL 唯一索引 - 优点和缺点?
【发布时间】:2015-01-12 16:12:39
【问题描述】:

我有一个带有 MySQL 表的 Django 应用程序,除了基于表的主键进行查询外,我还对业务名称的 slugname 进行了大量查询,因为 slugname 是 url 的一部分。 www.mywebsite.com/slug-name/。 slugname 是唯一值。

我确实有业务 ID 整数作为 PRIMARY 键和 PRIMARY 索引。

MySQL 表:

id - int, pk, primary index
name - varchar(50)
slugname - varchar(50) (is unique value)
...
  1. 索引 slugname 有什么主要好处吗?
  2. 由于 slugname 是唯一的,UNIQUE 索引是否会优于 fulltext 索引?
  3. 索引 varchar 字段有什么缺点吗?
  4. UNIQUE 索引相比,fulltext 会给我带来任何好处吗?
  5. Django 查询会从索引中受益吗?

【问题讨论】:

    标签: python mysql django indexing


    【解决方案1】:

    我无法回答您的所有问题,但是:

    1. 是的,针对特定 slug 名称的查找查询将在大量数据上显着增加。

    2. 您应该使用 UNIQUE 索引,这样您就不必进行查找来测试唯一性,只需让数据库抛出错误并在 django 中正确处理即可

    3. 在今天的系统中,我会说不,尤其是只有 50 个字符的系统。

    4. 不确定...我敢打赌,谷歌可以告诉您每种方法的优缺点,您可以将其应用于您的情况/使用情况

    5. 是的,参见 #1。

    【讨论】:

    • 感谢您的回复!我想我是在正确的轨道上,需要一些确认:)
    猜你喜欢
    • 2011-04-13
    • 2011-08-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-05
    • 2010-10-05
    • 1970-01-01
    • 2011-05-03
    • 1970-01-01
    相关资源
    最近更新 更多