![](/img/trans.png)
[英]Adding and retrieving the data from relational database using spring data jpa
[英]Filtering and retrieving data from db using spring data jpa
我正在使用reactjs作为前端,并使用spring boot作为后端。 我正在使用Spring Data JPA。
这是我的两难选择。我知道编写逻辑的方式效率很低,并且想知道和理解解决此问题的更好方法。
可以说数据库中有成千上万条记录,我需要不断且即时地检索它们(如果可能)
我在UI中有2个字段。 一个是字符串,另一个是整数。
名称(字符串)SomeKindOfId(int)------------- -------------------
仅在“名称”字段和/或“ SomeKindOfId”字段中输入3个字符后,才需要过滤记录。
如何有效地做到这一点?
目前,我有
findAllByNameAndSomeKindOfId( “%” +名称+ “%”, “%” +将String.valueOf(SomeKindOfId)+ “%”)
在服
在存储库类中是这样的
Query("Select u from SomeTable u where u.name = :name and CAST(u.someKindOfId As string) like :someKindOfId")
List<CdoDimStPortfolio> findAllByEntityStatusAndDealName(@Param("name") String name,
@Param("someKindOfId") String someKindOfId);
我使用强制转换的原因是因为我在数据库中有someKindOfId作为int
进行有效的数据库查询的最佳方法是根据要搜索的值创建索引。
您可以创建一个索引“ name”和“ someKindOfId”,并且这些值的搜索将是立即进行的,因为就像在书本中一样,如果您逐页搜索章节,则比查找索引要花费更长的时间,并且寻找它。
例如postgresql:
https://www.postgresql.org/docs/9.1/sql-createindex.html
CREATE INDEX在指定表的指定列上构造索引。 索引主要用于增强数据库性能
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.