代码之家  ›  专栏  ›  技术社区  ›  Faisal Abid

mysql中的大表

  •  0
  • Faisal Abid  · 技术社区  · 14 年前

    In运算符是否适合将5000多个项目传递到索引正确的大表中?

    基本上,我尝试获取MP3的列表,并通过简单的名称搜索来检查歌曲是否存在于我们的系统中。

    (伪代码) 从MP3中选择名称(MP3名称数组)

    2 回复  |  直到 14 年前
        1
  •  3
  •   ajreal    14 年前

    速度很快

    expr IN (value,...)

    如果expr等于in列表中的任何值,则返回1,否则返回0。如果所有值都是常量,则根据expr的类型对其进行计算和排序。然后使用二进制搜索完成对项目的搜索。这意味着如果in值列表完全由常量组成,则in非常快。否则,类型转换将根据第11.2节“表达式计算中的类型转换”中描述的规则进行,但适用于所有参数。

    参考: http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_in 参考: http://dev.mysql.com/doc/refman/5.0/en/type-conversion.html

    对于您的情况,请检查 max_allowed_packet 为了迎合巨大的弦

        2
  •  0
  •   Gajendra Bang    14 年前