![](/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.