我的设置是:JBOSS AS 7.1.1和PostGreSql
当表中没有或非常少(几百个)记录时,我的插入/更新完成得非常快。 但是当记录数量达到几千时,插入或更新需要很长时间。例如:插入记录需要1或2秒钟。
不确定问题出在哪里或从哪里开始。
我更新数据库的代码如下所示 -
public long updateRecord(long id, List<MyData> myDataList) {
Event eventFromDB = findById(id).get(0);
List<MyData> myDataListFromDB = eventFromDB.getMyData();
for(MyData myData : myDataList) {
myDataListFromDB.add(myData);
}
em.merge(eventFromDB);
return myDataList.size();
}
我是一名新手并且根据我的知识设置了jboss。
我没有在JBOSS AS或PostGreSQL上进行任何配置设置。
JBOSS AS使用standalone-full.xml配置文件以独立模式运行。
提前致谢。
jbossql=# \d event_mydata
Table "public.event_mydata"
Column | Type | Modifiers
-----------------+------------------------+-----------
event_id | bigint | not null
date_time | character varying(255) |
secs_since_1970 | double precision |
value | real |
Foreign-key constraints:
"fkcf2bc134ec016855" FOREIGN KEY (event_id) REFERENCES event(id)
List是一个元素集合
@ElementCollection
private List<MyData> myData;
public List<MyData> getMyData() {
return myData;
}
答案 0 :(得分:1)
我认为问题在于,如果考虑填充大量数据,使用ElementCollection不是一个好主意。
我重新构建了数据库,以便我现在使用一对多的双向关系。当子表中已有大量数据时,似乎有助于在子表中插入新条目。
希望它有所帮助。
感谢大家的期待和回应。