字符串的三种匹配方法,哪种更快?

merlinran 2006-11-08 08:55:37
比如我有一个字段acc_nbr,是个varchar型的。要查找号码段在12345670-12345679之间的记录。

1、select * from mytable where acc_nbr[1,7] = '1234567'
2、select * from mytable where acc_nbr between '12345670' and '12345679'
3、select * from mytable where acc_nbr like '1234567%'

我猜测是1,2次之,3最慢。大家分析分析。
过两天我给出试验结果。
...全文
374 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
aleaf 2007-04-02
  • 打赏
  • 举报
回复
由慢到快:1,2,3
asa80 2006-12-08
  • 打赏
  • 举报
回复
如果acc_nbr该列上面有索引,经过查询优化器查看,这三个查询都会用到索引。
字符创比较这三个都还行,性能最差的应该是substr()函数

1,194

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 Informix
社区管理员
  • Informix社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧