我有一个JPA选择您可以接受参数,然后我们可以使用一些属性(用户名,电子邮件,标识符)进行搜索用户只有一个文本字段来编写标准文本。JPA性能与选择不区分大小写
的问题是性能比较,在数据库中我们对用户registereds的9Millions,并且搜索速度太慢,使用JPA,
(如果他使用的用户名,电子邮件或标识符他不说了)形式: - 值(输入文本)
用户(表)字段的形式
用户发送值: - 我dentifier - 名称 - 电子邮件
JPA查询:
select u from UserEntity u where u.alias LIKE lower(:query) OR u.email LIKE lower(:query) OR lower(u.identifier) LIKE lower(:query) ORDER BY u.alias
我不知道什么是最好的方法,以提高搜索的速度,(我们有一些指标在表在这些字段中),如果我们删除u.identifier字段中的较低值,则速度会提高很多(几乎是即时)。但是,我们可以通过很多方式获得标识符(迁移,注册,手动客户端插入..)
“使用JPA”,JPA提供者将简单地将其转换为SQL并运行它。那么为什么不看看生成的SQL并专注于这个呢? –