谈谈SQL数据库中滥用临时表、排序的解决方案优化(举例:汉字转拼音函数)
来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 13:01 点击:次
游标、临时表、触发器、COLLATE等等……
无可厚非、这些都是好东西,我为什么今天要花时间来写这些东西呢?
是因为我发现慢慢的很多人用久了这些东西之后会形成一种习惯,不管解决什么问题动不动都会把它们搬出来,由此我看到了很多漂亮的代码在性能效率面前却显得不那么优秀。
好了废话不多说开始进入正题吧。
今天的案例
场景:
需要通过用户输入的姓名关键字来搜索用户。用户输入关键字'x'来搜索用户(数据来源于表[Name字段中]或内存[List<UserInfo>]中)
要求:
得到的结果排序应为:
x
xia
xiao
yx
即:
- 包含x字母的结果均应显示出来
- 首字母匹配的结果应该排在前面(如x开头)
- 在条件2相同的前提下更短的结果应排在前面(如x排在xia前面)
各位大侠能否给出一套C#与SQL Server(2008)的解决方案?
补充:
如果能一起解决中文问题最好,如搜索'x'
得到的结果排序应为:
x
xiani
夏荣
肖小笑
杨星
即将汉字的拼音首字母纳入在内,不知SQL Server是否支持这一特性的搜索?
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>