Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy istnieje inny sposób zaimplementowania tego programu bez użycia zagnieżdżonej pętli while?

Ponieważ wszystkie dane użyte w INSERT Instrukcja pochodzi z instrukcji 'SELECT', nie ma sensu podejmować dodatkowej podróży w obie strony między aplikacją Java a bazą danych. Wykonywanie wszystkiego za pomocą jednej instrukcji SQL zapewni najlepszą wydajność.

Twoja instrukcja SQL powinna wyglądać tak

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

Twój kod Java można sprowadzić do tego

try {
    oRoot = Root.createDbConnection(null);
    String sql = "INSERT INTO snomedinfo_data...";
    oPrStmt = oRoot.con.prepareStatement(sql);
    oPrStmt.executeUpdate();
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Klauzula INNER JOIN ON vs WHERE

  2. Jakie są różnice w korzystaniu z bazy danych XML i MySQL? Którego powinienem użyć?

  3. Dane wejściowe użytkownika, wyczyść i odkaż przed wysłaniem do db

  4. SQLSTATE[23000]:Naruszenie ograniczenia integralności:1217

  5. MySQL:Po co określać szerokość wyświetlania bez używania zerowego wypełnienia?