【问题标题】:Negative index length in MySQLMySQL中的负索引长度
【发布时间】:2011-07-22 23:37:24
【问题描述】:

是否可以对 MySQL 索引使用负长度?如果是这样,在调用 PHP 的 substring 函数时是否和使用负值一样?

【问题讨论】:

  • 如果 MySQL 支持基于函数的索引,那将是可能的。不过,据我所知,MySQL 中没有这样的功能。就像 Marc B 所说,您可以创建额外的列来索引数据。 (编辑:)您可以使用before update 触发器来填充该附加列。
  • 您是在询问数据库索引,还是您要传递给 SUBSTRING 的内容?

标签: php mysql database indexing


【解决方案1】:

根据CREATE INDEX Syntax

索引条目由 CHAR、VARCHAR 和 TEXT 列的每个列值的第一个长度字符以及 BINARY、VARBINARY 和 BLOB 列的每个列值的第一个长度字节组成。

没有提到负值的例外。所以我的猜测是,当给出负长度时,它没有定义 MySQL 的行为。

【讨论】:

    【解决方案2】:

    没有。索引要么覆盖整个字段,要么覆盖字段的第一个 N 字符。如果您需要反向索引,请将适当的字段存储在保留状态并索引它们。

    【讨论】:

      猜你喜欢
      • 2013-02-15
      • 1970-01-01
      • 2016-05-13
      • 1970-01-01
      • 1970-01-01
      • 2012-11-17
      • 1970-01-01
      • 2012-02-08
      • 1970-01-01
      相关资源
      最近更新 更多