MySQL Varchar 字段的唯一索引 - 优点和缺点?
MySQL Unique Index on Varchar Field - Pros & Cons?
我有一个带有 MySQL table 的 Django 应用程序,除了根据 table 的主键进行查询外,我还对业务的 slugname 进行了很多查询作为 slugname 的名称是 url 的一部分。 www.mywebsite.com/slug-name/
。 slugname 是唯一值。
我确实有业务 ID
整数作为 PRIMARY
键和 PRIMARY
索引。
MySQL TABLE:
id - int, pk, primary index
name - varchar(50)
slugname - varchar(50) (is unique value)
...
- 索引 slugname 会有什么主要好处吗?
- 既然 slugname 是唯一的,
UNIQUE
索引是否会优于 fulltext
索引?
- 索引 varchar 字段有什么缺点吗?
-
fulltext
会比 UNIQUE
索引给我任何好处吗?
- Django 查询会从索引中受益吗?
我无法回答您所有的问题,但是:
是的,对特定 slug 名称的查找查询将在大量数据上显着增加。
你应该使用 UNIQUE 索引,这样你就不必进行查找来测试唯一性,只需让数据库抛出错误并在 django 中正确处理它
在今天的系统中,我会说不,尤其是只有 50 个字符的系统。
不确定...我敢打赌 google 可以告诉您每一个的优缺点,您可以将其应用到您的 situation/usage
是的,参见#1。
我有一个带有 MySQL table 的 Django 应用程序,除了根据 table 的主键进行查询外,我还对业务的 slugname 进行了很多查询作为 slugname 的名称是 url 的一部分。 www.mywebsite.com/slug-name/
。 slugname 是唯一值。
我确实有业务 ID
整数作为 PRIMARY
键和 PRIMARY
索引。
MySQL TABLE:
id - int, pk, primary index
name - varchar(50)
slugname - varchar(50) (is unique value)
...
- 索引 slugname 会有什么主要好处吗?
- 既然 slugname 是唯一的,
UNIQUE
索引是否会优于fulltext
索引? - 索引 varchar 字段有什么缺点吗?
-
fulltext
会比UNIQUE
索引给我任何好处吗? - Django 查询会从索引中受益吗?
我无法回答您所有的问题,但是:
是的,对特定 slug 名称的查找查询将在大量数据上显着增加。
你应该使用 UNIQUE 索引,这样你就不必进行查找来测试唯一性,只需让数据库抛出错误并在 django 中正确处理它
在今天的系统中,我会说不,尤其是只有 50 个字符的系统。
不确定...我敢打赌 google 可以告诉您每一个的优缺点,您可以将其应用到您的 situation/usage
是的,参见#1。