Vì tất cả dữ liệu được sử dụng trong INSERT
tuyên bố xuất phát từ các câu lệnh 'SELECT' của bạn, không có ích gì khi thực hiện thêm một chuyến đi vòng giữa ứng dụng java của bạn và cơ sở dữ liệu. Thực thi mọi thứ trong một câu lệnh SQL sẽ mang lại cho bạn hiệu suất tốt nhất.
Câu lệnh SQL của bạn sẽ giống như thế này
INSERT INTO snomedinfo_data (refid,id,effectivetime,active,moduleid,conceptid,languagecode,typeid,term,caseSignificanceid)
SELECT d.refid, d.id, d.effectivetime, d.active, d.moduleid, d.conceptid, d.languagecode, d.typeid, d.term, d.caseSignificanceid
FROM snomed_descriptiondata d
JOIN snomed_conceptdata c ON c.id = d.conceptid AND c.active = 1 AND d.active = 1
Và mã java của bạn có thể được rút gọn đến mức này
try {
oRoot = Root.createDbConnection(null);
String sql = "INSERT INTO snomedinfo_data...";
oPrStmt = oRoot.con.prepareStatement(sql);
oPrStmt.executeUpdate();
}