Я не могу решить, что использовать (прямой запрос SQL или запрос для просмотра) для уменьшения использования ОЗУ. Запрос представления в базе данных H2?
Какие требования к ОЗУ в базе данных H2? : Чтение из файла sun.nio.ch.fileChannelimpl@6afd7e5d Не удастся в 8638329 (длина 6049792), чтение 0, оставшиеся 3072 [2.2.224/1] очень часто. . < /p>
Я думаю, что проблема вызвана недостаточным количеством свободной оперативной памяти. < /p>
Количество оперативной памяти ограничено и будет ограничено. > Я не знаю, как предотвратить повреждение базы данных. < /P>
Вот дополнение к моему вопросу. (Javafx + Spring Boot + H2 База данных).
В этом приложении используется встроенный DB. Это приложение может использовать H2 -сервер, но использует встроенный db. < /P>
В этом приложении используется представление SQL, которое соединяет 23 таблицы и другие представления.
Я не могу создать материализованный представление, потому что База данных H2 не поддерживает этот тип представлений. < /P>
В этом приложении много пользователей. Базы данных пользователей имеют различный объем данных.
Проблема в том, что у меня нет доступа к этим базам данных.
У меня есть только сообщения о проблемах с базами данных. < /P>
Пользователи компьютеры имеют 8 ГБ ОЗУ. < /P>
Я знаю, что значение -xmx значение по умолчанию в OpenJDK составляет одну четвертую физической памяти для не серверных машин.
Я решил Используйте больше ОЗУ (-xmx4g), но ошибки с базами данных периодически происходят. < /p>
Сегодня я получил сообщение ниже. < /p>
Caused by: org.h2.jdbc.JdbcSQLNonTransientConnectionException: File corrupted while reading record: "... .mv.db". Possible solution: use the recovery tool [90030-224]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
at org.h2.message.DbException.get(DbException.java:212)
at org.h2.mvstore.db.Store.convertMVStoreException(Store.java:163)
at org.h2.mvstore.db.Store.(Store.java:142)
at org.h2.engine.Database.(Database.java:326)
at org.h2.engine.Engine.openSession(Engine.java:92)
at org.h2.engine.Engine.openSession(Engine.java:222)
at org.h2.engine.Engine.createSession(Engine.java:201)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:343)
at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:125)
at org.h2.Driver.connect(Driver.java:59)
at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138)
at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359)
at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201)
at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470)
at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:733)
at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:712)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
... 1 common frames omitted
Caused by: org.h2.mvstore.MVStoreException: Double mark: 357/16f [2-32, 39-34c, 357-3c6, 3ca-3d2, 3da-3e9, 3ee-4d7, 4fc-520, 532-56a, 6ee-] [2.2.224/6]
at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:996)
at org.h2.mvstore.FreeSpaceBitSet.markUsed(FreeSpaceBitSet.java:184)
at org.h2.mvstore.RandomAccessStore.markUsed(RandomAccessStore.java:75)
at org.h2.mvstore.RandomAccessStore.readStoreHeader(RandomAccessStore.java:333)
at org.h2.mvstore.FileStore.start(FileStore.java:916)
at org.h2.mvstore.MVStore.(MVStore.java:289)
at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2035)
at org.h2.mvstore.db.Store.(Store.java:133)
... 17 common frames omitted
< /code>
Вопрос был в том, есть ли разница в использовании оперативной памяти между таблицами запроса напрямую и запросом представления в базе данных H2? ». < /p>
Могу я получить Любой ответ на этот вопрос?>
Подробнее здесь: https://stackoverflow.com/questions/794 ... d-querying
Есть ли разница в использовании оперативной памяти между таблицами запроса напрямую и запросом представления в базе данн ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Android — в чем разница между оперативной памятью Android и оперативной памятью ПК
Anonymous » » в форуме Android - 0 Ответы
- 87 Просмотры
-
Последнее сообщение Anonymous
-