Sql Hacks 阅读感悟——文本处理

SQL基础:《SQL HACKS》第3章——文本处理,总共列举了4tips,不用Like搜索关键词、跨列搜索关键字等,下述为我对这4tips的评析。

1、不用Like搜索关键词

情景描述:字符串模糊查找通常都会使用like

解决方案:使用数据库支持的全文检索功能。

评析:一般应用我们使用like进行字符串模糊匹配完全可以满足功能、性能需求,但是需要注意like使用方式(通配符在前的like条件是不会使用索引的);对于特殊的应用,如知识库等则应使用数据库全文检索功能,如postgresqltsvector类型。

2、跨列搜索字符串

情景描述:求解给定字符串S是否与数据库现有的某几列(c1,c2,..cn)匹配老;

解决方案:可以使用or进行连接,判断S是否与给出的每列匹配;也可以使用将c1,c2,cn连接起来判断是否包含S;也可以使用in查询;

评析:跨列搜索字符串除了or连接还有其它很多种实现方式。

3、求解重组字

情景描述:假设现有一张字典表,里面存储了所有单词,如teaeat,我们发现teaeat都是有e, a, t组合合成,则表示eattea是重组字。现在要求解字典表中eat的重组字有几个?

解决方案:通过数学手段(散列函数、二次散列方函数等)使得输入teaeat可以得到同一个值value,则只要字典表自连以value作为where条件即可。

评析:数学好真的很关键,只有很强的数学功底才能确保teaeat的函数值value是一致,其它的单词如sea则是其它的函数值。

4、排序电子邮件

情景描述:对电子邮件账户作升序排序;

解决方案:通过字符串函数截取@之前的字串,并对截取后的字串进行升序排序即可。

评析:熟练掌握数据库的字符串函数可以大大提高工作效率,如常用的字符串连接、取长度,截取字符串,字符串查找,字符串替换等。

本章总评:

本章的几个tip是无非是告诉我们熟练使用数据库的字符串函数会有意外的收获,因此我们至少要熟知一种数据库的字符串操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值