Как сказать, застревает ли процесс MySQL?

Шаг 1 - Добавьте зависимость для вашего коннектора базы данных в pom.xml. Пример для MySQL показан ниже.

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

Если вы хотите подключиться к базе данных Oracle, вы можете использовать зависимость, аналогичную показанной ниже.

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc7</artifactId>
    <version>12.1.0.1</version>
</dependency>

Шаг 2. Удаление зависимости H2 из pom.xml. Или, по крайней мере, сделать ее область действия тестовой.

<!--
<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <scope>test</scope>
</dependency>
-->

Шаг 3. Настройка базы данных My SQL. Нам нужно настроить базу данных с помощью схема и таблицы.

For an example, check out - https://github.com/in28minutes/jpa-with-hibernate#installing-and-setting-up-mysql

Шаг 4. Настройка подключения к базе данных. Настройте application.properties для подключения к базе данных.

Пример для My SQL показан ниже:

spring.jpa.hibernate.ddl-auto=none
spring.datasource.url=jdbc:mysql://localhost:3306/todo_example
spring.datasource.username=todouser
spring.datasource.password=YOUR_PASSWORD

spring.jpa.hibernate.ddl-auto

Spring Boot выбирает значение по умолчанию для это зависит от того, подключаетесь ли вы к встроенной базе данных или нет.

Embedded Databases - default create-drop
Other Databases - default none

Вот краткое руководство по всем опциям

none : No action will be performed.
create-only : Database creation will be generated from entities.
drop : Database dropping will be generated from entities.
create : Database dropping will be generated followed by database creation.
validate : Validate entites with the database schema
update: Update the database schema based on the entities

Шаг 5 - Перезагрузите, и вы готовы! Вот и все

9
задан raven 21 November 2009 в 18:46
поделиться

4 ответа

Попробуйте "ШОУ PROCESSLIST" для наблюдения то, что активно.

Конечно, при уничтожении его это может затем хотеть занять такое же время, откатывая его.

6
ответ дан 4 December 2019 в 21:51
поделиться

Необходимо уничтожить его и придумать лучшие индексы.

Я сделал задание для парня. Имел таблицу приблизительно с 35 миллионами строк. Его пакетная обработка, как Ваша, выполняла неделю без конца в поле зрения. Я добавил некоторые индексы, внес некоторые изменения в порядок и методы его пакетной обработки, и свалил все это приблизительно к двум с половиной часам. На более медленной машине.

3
ответ дан 4 December 2019 в 21:51
поделиться

Учитывая то, что вы сказали, она не застряла. Тем не менее, нет абсолютно никакой гарантии, что он действительно закончится за разумный промежуток времени. Добавление индикаторов почти наверняка поможет, и в зависимости от типа запроса его рефакторинг в серию запросов, использующих временные таблицы, может дать вам огромный прирост производительности. Я бы не советовал ждать, пока он, может быть, закончится.

0
ответ дан 4 December 2019 в 21:51
поделиться

Для лучшей производительности в базе данных, который размер, вы можете посмотреть на базу данных на основе документов, такой как MongoDB. Для хранения базы данных потребуется дополнительное место для хранения базы данных, но в зависимости от вашей текущей схемы, вы можете получить гораздо лучшую производительность.

0
ответ дан 4 December 2019 в 21:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: