使用java使sqlite查询运行得更快

时间:2016-05-03 16:05:58

标签: java sqlite

所以我正在研究一个项目 在项目的一部分中,我们必须从excel文件中读取数据并将其存储在数据库中 我们将sqlite与Java JDBC一起使用,但数据大于25千行 如图所示

`{stm = conn.createStatement();
            //Get the workbook instance for XLS file
            HSSFWorkbook workbook = new HSSFWorkbook(file);

            //Get first sheet from the workbook
            HSSFSheet sheet = workbook.getSheetAt(0);

            //Iterate through each rows from first sheet
            Iterator<Row> rowIterator = sheet.iterator();
           int hour=0;
            Row row;
            String collegename;
            String coursename;
            int courseSec;
            int courseid;
            String lecturer;
            try{stm.executeUpdate("DROP TABLE temp_table;");}
            catch(Exception e){}
            stm.executeUpdate("CREATE TABLE \"temp_table\" (\n" +
"\"college_name\"  TEXT,\n" +
"\"course_id\"  INTEGER,\n" +
"\"course_sec\"  INTEGER,\n" +
"\"course_name\"  TEXT,\n" +
"\"lecturer\"  TEXT\n" +
")\n" +
";");
            while(rowIterator.hasNext()) {
                row = rowIterator.next();
                collegename=row.getCell(0).getStringCellValue();
                courseid=(int)row.getCell(1).getNumericCellValue();
                courseSec=(int)row.getCell(4).getNumericCellValue();
                coursename=row.getCell(2).getStringCellValue();
                lecturer = row.getCell(6).getStringCellValue();
                stm.executeUpdate("INSERT INTO temp_table(\"college_name\" , \"course_id\" , \"course_sec\" , \"course_name\" , \"lecturer\") "
                        + "VALUES(\"" + collegename + "\" ," + courseid + " , " + courseSec + " , \"" + coursename + "\",\"" + lecturer + "\");");
}
}`

它需要超过30分钟 但在navicat premium我可以在不到5秒的时间内导入它

我不能加快速度吗?

0 个答案:

没有答案