【发布时间】:2012-06-02 12:31:03
【问题描述】:
我对这些东西比较陌生,所以如果问题是转储,请原谅。假设一个包含字段的表:id、str_field。 str_field 的值类似于“12:17:1246:90”。我想获取 str_field 包含的所有行,例如“17”。为此,我需要执行以下命令
SELECT id FROM `table_name` WHERE INSTR(str_field, '17')>0
如果表中有大量行,查询可能会很慢。问题来了:如果我要索引 str_field 会增加查询执行的速度吗?
提前谢谢你!
附言。换句话说,我在问:索引是否会增加查询的速度,例如
SELECT * FROM `table_name` WHERE str_field='value'
?
UPD str_field 仅包含用冒号分隔的数字。
【问题讨论】:
-
字段是否有固定的格式,比如用冒号隔开的四个小数字?或者它可以包含任意文本,包括字母和符号?如果字段包含“172”,“17”应该匹配吗?
-
只是用冒号分隔的数字
-
数字大小有限制吗?数字数量有限制吗?