帮助索引数据库

时间:2011-03-29 19:09:47

标签: database indexing

在VARCHAR(500)字段上创建索引是个好主意吗?我将在其中进行大量搜索,但我不确定是否在这样一个“大”字段上创建索引是个好主意?

您怎么看?

3 个答案:

答案 0 :(得分:1)

这通常不是一个好主意,因为索引文件很大,搜索速度相对较慢。最好使用字段的前缀,例如字段的前32或64个字符作为索引。另一种可能性是,如果有意义使用全文索引,。

答案 1 :(得分:0)

通常,在您将用于搜索的字段上创建索引是个好主意。但是,根据用途,有更好的选择:

  • 全文搜索(来自wikipedia):在全文搜索中,搜索引擎会在尝试匹配用户提供的搜索字词时检查每个存储文档中的所有字词。
  • 部分索引:(同样,来自wikipedia):在数据库中,部分索引(也称为筛选索引)是一个应用了某些条件的索引,因此它包含表中的行子集

也许您应该考虑提供有关索引使用的更多信息。

答案 2 :(得分:0)

您应该将索引放在经常使用的查询运行得更快的位置,但是,有许多问题需要考虑

  • 索引的大小非常有限,例如。 mssql有900字节的限制
  • 许多索引在编写时可能会产生开销(尽管上次我在基准上插入一百万条带有9个索引的基准时最小化
  • 许多索引占用了db
  • 中的宝贵空间
  • 许多索引在插入数据时可能会产生死锁

另请查看您使用的数据库的文档。大多数数据库都支持文本列,并在其中进行高效搜索