Получить все строки из большой таблицы в SQL-сервере - PullRequest
0 голосов
/ 18 мая 2018

У меня есть таблица с более чем 500К-записями, и когда я пытаюсь получить отфильтрованный набор результатов (~ 145К-записей), мой метод closeConnection () вылетает.После отладки выясняется, что объект оператора получает 1000 записей за раз, и соединение разрывается в середине следующего цикла выборки.Поскольку я работаю со структурой (структурой работодателя), я не могу изменить настройку тайм-аута, но я думал о том, чтобы извлечь всю большую часть записей одновременно.К вашему сведению, производительность здесь не проблема, поэтому не имеет значения, если это займет больше времени.

Есть ли что-то вроде подсказки ALL_ROWS в oracle, которая дает мне те же результаты в SQL-сервере?или, может быть, какое-то другое решение?

Это запрос:

SELECT MODEL.MODEL_TABLE_CODE VARIANT_ID, MODEL.DSC, MODEL.MAIN_MODEL_ID, MODEL.YEAR_FROM, MODEL_DN.SHOW_IN_PORTAL, MODEL.DISCONTINUE_DATE
FROM T_MODEL MODEL, T_MODEL_DN MODEL_DN
WHERE MODEL.MODEL_TABLE_CODE = MODEL_DN.ID
AND MODEL_DN.CHANNEL_TYPE_ID = @channel_type_id
AND MODEL.MAIN_VEHICLE_TYPE_ID = @main_vehicle_type_id
AND MODEL.UPDATE_DATE > @from_date

Вот что я получаю в журнале:

[18-05-18 06: 49: 03.661] ОШИБКА по умолчанию task-62 [] com.idit.framework.backend.interceptor.SessionBeanInterceptor - org.hibernate.exception.GenericJDBCException: невозможно получить соединение JDBC в org.hibernate.exception.internal.StandardSQLExvertverStandardSQLExceptionConverter.java:47) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert (SqlExceptionHelper.java:111) ~[hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert (SqlExceptionHelper.java:97) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.acquireConnectionIfNeeded (LogicalConnectionManagedImpl.java:102) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.getPhysicalConnection (LogicalConnectionManagedImpl.java:129) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.engine.jdbc.internal.StatementPreparerImpl.connection (StatementPreparerImpl.: 47) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.engine.jdbc.internal.StatementPreparerImpl $ 5.doPrepare (StatementPreparerImpl.java:146) ~ [спящий режим-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.engine.jdbc.internal.StatementPreparerImpl $ StatementPreparationTemplate.prepareStatement (StatementPreparerImpl.java:172) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareQueryStatement (StatementPreparerImpl.java:148) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] at org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.prepareQueryStatement (AbstractLoadPlanBasedLoader.java:241) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] at org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeQueryStatement (AbstractLoadPlanBasedLoader.java:185) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.execuLoad (.java: 121) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeLoad (AbstractLoadPlanBasedLoader.java:86)~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.load (AbstractLoadPlanBasedEntityLoader.java:167) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.persister.entity.AbstractEntityPersister.load (AbstractEntityPersister.java:4019) ~ [hibernate-core-5.2.5.Final.jar! /:5.2.5.Final] в org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource (DefaultLoadEventListener.java:508) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.event.internal.DefaultLoadEventListener.doLoad (DefaultLoadEventListener.java:478) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.event.internal.DefaultLoadEventListener.load (DefaultLoadEventListener.java:219) ~ [спящий режим-core-5.2.5.Final.jar /: 5.2.5.Final]в org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad (DefaultLoadEventListener.java:278) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.event.internal.DefaultLoadEventListener.doOnLoad (DefaultLoadEventListener.java:121) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.event.internal.DefaultLoadEventListener.onLoad (DefaultLoadEventLister)) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.internal.SessionImpl.fireLoad (SessionImpl.java:1222) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.internal.SessionImpl.internalLoad (SessionImpl.java:1105) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.type.EntityType.resolveIdentifier (EntityType.java:646) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.type.ManyToOneType.assemble(ManyToOneType.java:266) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.type.TypeHelper.assemble (TypeHelper.java:99) ~ [hibernate-Колорадоre-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.cache.spi.entry.StandardCacheEntryImpl.assemble (StandardCacheEntryImpl.java:141) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.event.internal.DefaultLoadEventListener.convertCacheEntryToEntity (DefaultLoadEventListener.java:754) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Окончательный] в org.hibernate.event.internal.DefaultLoadEventListener.processCachedEntry (DefaultLoadEventListener.java:625) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.event.internal.DefaultLoadEventListener.loadFromSecondLevelCache (DefaultLoadEventListener.java:602) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.event.internal.DefaultLoadEventListener.doLadEistenListenL.er: 462) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.event.internal.DefaultLoadEventListener.load (DefaultLoadEventListener.java:219) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] на org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad (DefaultLoadEventListener.java:278) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.event.internal.DefaultLoadEventListener.doOnLovent (DefaultLoadjava):) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.event.internal.DefaultLoadEventListener.onLoad (DefaultLoadEventListener.java:89) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.internal.SessionImpl.fireLoad (SessionImpl.java:1222) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.internal.SessionImpl.access $ 1900 (SessionImpl.java:204) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.internal.SessionImpl $ IdentifierLoadAccessImpl.doLoad (SessionImpl.java:2776) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.internal.SessionImpl $ IdentifierLoadAccessImpl.load (SessionImpl.j: 2750) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] в org.hibernate.internal.SessionImpl.get (SessionImpl.java:1058) ~ [hibernate-core-5.2.5.Final.jar! /: 5.2.5.Final] Цитата

Спасибо

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