我创建了一个应用程序,并尝试将 100 条记录插入到我的数据库 (MariaDB) 中,大约需要 20 秒。如何加快这个操作?
我正在使用 hibernate,我的期望是在最多 2 分钟内插入大约 10k。
private Person getPerson(ExternalPerson externalPerson) {
Person person = new Person();
person.setName(externalPerson.getFirstName());
person.setLastName(externalPerson.getLastName());
person.setAdditionalInfo(externalPerson.getIdentifier());
person.setCountries(Arrays.asList(storeCountryIfNotExist(externalPerson.getCountry())));
person.setGender(storeGenderIfNotExist(externalPerson.getGender()));
personRepository.saveAndFlush(person);
return person;
}
private Gender storeGenderIfNotExist(String gender) {
Gender genderTemp = genderRepository.findByName(gender);
if (genderTemp != null) {
return genderRepository.findByName(gender);
}
Gender newGender = new Gender();
newGender.setName(gender);
return genderRepository.saveAndFlush(newGender);
}
private Country storeCountryIfNotExist(String country) {
Country countrytemp = countryRepository.findByName(country);
if (countrytemp != null) {
return countrytemp;
}
Country newCountry = new Country();
newCountry.setName(country);
return countryRepository.saveAndFlush(newCountry);
}
相关分类