我用汉字模糊查询oracle速度很快,但是用拼音查询很慢,为什么?
项目的需要,要通过拼音来查找数据库,但是效率很慢,比如:输入“中国”,在数据库中,查的速度很快,在查询的过程中,还可以继续输后面的汉字;但是如果用拼音,比如“zhongu...
项目的需要,要通过拼音来查找数据库,但是效率很慢,比如:输入“中国”,在数据库中,查的速度很快,在查询的过程中,还可以继续输后面的汉字;但是如果用拼音,比如“zhonguo”的首字母“z”,开始查询,并且速度很慢,在查询的过程中,不能继续输入,也就是查询“z”过程中,后面的“hongguo”,不能输入!拜求高人指点!
展开
2个回答
展开全部
很明显是应用设计的问题。估计是设计成每输入一个字做一次全扫描,跟“中”匹配的结果很少,因此查询很快,但是跟z匹配的结果很多,因此要很长时间查询,数据库一直繁忙,就不响应后面的了。把这个作为需求提供给你的应用设计人员,改算法吧。比如把全扫描改成前n行扫描,比如只扫描第一页要显示的。如果非要说跟数据库有什么关系的话,可以考虑设置select语句的查询模式是first rows,取代all rows。不过改数据库是后话了,先看看应用怎么设计的再说。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询