项目框架:struts1.2+spring2.0+hibernate3.2+jboss+oracle
怎么高效率的模糊查询上百万数据,有高手说只要使用Hibernate的search()方法以及索引就可以做到
但不知道行不行,还在测试中·~~
不知道各位大虾们有没有好的解决办法,先谢了
最好是有源码的,也可以加我QQ:735474224 私聊~~~
怎么高效率的模糊查询上百万数据,有高手说只要使用Hibernate的search()方法以及索引就可以做到
但不知道行不行,还在测试中·~~
不知道各位大虾们有没有好的解决办法,先谢了
最好是有源码的,也可以加我QQ:735474224 私聊~~~
1、如果想提高查询效率,就必须减少查询的模糊程序,也就是说,越精确,越快。在满足客户的要求下,尽可能少的使用%等模糊查询字符。
2、建立表索引,将你要查询的字符全部建索引,这样会提高查询效率。
3、Hibernate的search()方法的具体实现,是开发人员来完成的,这个就看你怎么写了。虽然上面会提高查询效率,但我会说,对于取百万数据量来说仍然会很卡,呵呵,会卡的想撞墙。
当然,实践是检验真理的唯一标准,所有,LZ只要是测试出来性能不是耗得很离谱,速度客户还可以接受,那也就行了,因为没准你们的硬件足够好,速度不是很慢呢
多用sql关键字物理上见表空间,索引
他这效率慢 是因为 数据库数据太大了
最主要就是在oracle加索引,不过加的时候 时间会很长 因为你数据太多了
hibernate中 like 语句 最好在二次查询之后用 一次查询 用=
Oracle9i中全文检索的创建与使用http://epub.itpub.net/4/1.htm另外,如果你的oracle版本不支持全文检索,那么,用lucene将就一下,对需要检索的那些字段做个外部索引也未尝不可,但别忘了,外部索引如何保证数据的一致性和完整性需要好好考虑啊。
2.直接使用jdbc
3.使用索引(其实也在sql优化范围之内)