我用汉字模糊查询oracle速度很快,但是用拼音查询很慢,为什么?

项目的需要,要通过拼音来查找数据库,但是效率很慢,比如:输入“中国”,在数据库中,查的速度很快,在查询的过程中,还可以继续输后面的汉字;但是如果用拼音,比如“zhongu... 项目的需要,要通过拼音来查找数据库,但是效率很慢,比如:输入“中国”,在数据库中,查的速度很快,在查询的过程中,还可以继续输后面的汉字;但是如果用拼音,比如“zhonguo”的首字母“z”,开始查询,并且速度很慢,在查询的过程中,不能继续输入,也就是查询“z”过程中,后面的“hongguo”,不能输入!拜求高人指点! 展开
 我来答
牛角山麦子
2013-07-03 · TA获得超过1554个赞
知道小有建树答主
回答量:651
采纳率:75%
帮助的人:540万
展开全部
很明显是应用设计的问题。估计是设计成每输入一个字做一次全扫描,跟“中”匹配的结果很少,因此查询很快,但是跟z匹配的结果很多,因此要很长时间查询,数据库一直繁忙,就不响应后面的了。把这个作为需求提供给你的应用设计人员,改算法吧。比如把全扫描改成前n行扫描,比如只扫描第一页要显示的。如果非要说跟数据库有什么关系的话,可以考虑设置select语句的查询模式是first rows,取代all rows。不过改数据库是后话了,先看看应用怎么设计的再说。
micro0369
2013-07-03 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:4049万
展开全部
其实这个问题,应该是这样的:

你输入z的时候,可能还在连续输入,这时候其实是不应该执行数据库查询的。

只有当你输入结束的时候,才应该去查询数据库。

也就是说,你不应该在 keyup之类的操作后立即查询数据库;
而应该在keyup后等待1秒(或者其他时间)(如果有连续的键盘操作,则重新计时),再进行数据库检索。

这样,性能会大大增加。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式