猿问

INSERT 到数据库需要太多时间

我创建了一个应用程序,并尝试将 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);

    }


慕姐4208626
浏览 268回答 2
2回答
随时随地看视频慕课网APP

相关分类

Java
我要回答