6.3.13 Расширения производительности
-
callableStmtCacheSizeЕсли включен параметр 'cacheCallableStmts', сколько вызываемых инструкций следует кэшировать?
Значение по умолчанию 100 С версии 3.1.2 -
metadataCacheSizeКоличество запросов для кэширования 'ResultSetMetadata', если 'cacheResultSetMetaData' установлен в "true".
Значение по умолчанию 50 С версии 3.1.1 -
useLocalSessionStateДолжен ли драйвер ссылаться на внутренние значения автоматической фиксации и изоляции транзакций, установленные методами 'Connection.setAutoCommit()' и 'Connection.setTransactionIsolation()', а также состояние транзакции, поддерживаемое протоколом, вместо запроса к базе данных или безусловной отправки команд в базу данных для вызовов методов 'commit()' или 'rollback()'?
Значение по умолчанию false С версии 3.1.7 -
useLocalTransactionStateДолжен ли драйвер использовать состояние внутри транзакции, предоставляемое протоколом MySQL, чтобы определить, следует ли фактически отправлять 'commit()' или 'rollback()' в базу данных?
Значение по умолчанию false С версии 5.1.7 -
prepStmtCacheSizeЕсли кэширование подготовленных инструкций включено, сколько подготовленных инструкций следует кэшировать?
Значение по умолчанию 25 С версии 3.0.10 -
prepStmtCacheSqlLimitЕсли кэширование подготовленных инструкций включено, какой максимальный размер SQL-запроса драйвер будет кэшировать для разбора?
Значение по умолчанию 256 С версии 3.0.10 -
queryInfoCacheFactoryИмя класса, реализующего 'com.mysql.cj.CacheAdapterFactory', который будет использоваться для создания кэшей для разобранного представления подготовленных инструкций. До версии 8.0.29 это свойство называлось 'parseInfoCacheFactory', которое остается как псевдоним.
Значение по умолчанию com.mysql.cj.PerConnectionLRUFactory С версии 5.1.1 -
serverConfigCacheFactoryИмя класса, реализующего 'com.mysql.cj.CacheAdapterFactory', который будет использоваться для создания кэшей для значений конфигурации сервера MySQL.
Значение по умолчанию com.mysql.cj.util.PerVmServerConfigCacheFactory С версии 5.1.1 -
alwaysSendSetIsolationДолжен ли драйвер всегда взаимодействовать с базой данных, когда вызывается 'Connection.setTransactionIsolation()'? Если установлено в "false", драйвер будет взаимодействовать с базой данных только тогда, когда запрашиваемая изоляция транзакций отличается от более новой, последнего значения, установленного через 'Connection.setTransactionIsolation()', или значения, которое было считано с сервера при установлении соединения. Обратите внимание, что "useLocalSessionState=true" будет принудительно устанавливать такое же поведение, как и "alwaysSendSetIsolation=false", независимо от того, как установлен 'alwaysSendSetIsolation'.
Значение по умолчанию true С версии 3.1.7 -
maintainTimeStatsДолжен ли драйвер поддерживать различные внутренние таймеры для включения вычислений времени простоя, а также более подробные сообщения об ошибках, когда соединение с сервером прерывается? Установка этого свойства в false удаляет как минимум два вызова 'System.getCurrentTimeMillis()' на запрос.
Значение по умолчанию true С версии 3.1.9 -
useCursorFetchДолжен ли драйвер использовать извлечение на основе курсора для получения строк? Если установлено в "true" и 'defaultFetchSize' установлено значение больше нуля или 'setFetchSize()' со значением больше нуля вызывается для инструкции, то будет использоваться набор результатов на основе курсора. Обратите внимание, что 'useServerPrepStmts' автоматически устанавливается в "true" в этом случае, поскольку функциональность курсора доступна только для подготовленных инструкций на стороне сервера.
Значение по умолчанию false С версии 5.0.0 -
cacheCallableStmtsДолжен ли драйвер кэшировать этап разбора CallableStatements?
Значение по умолчанию false С версии 3.1.2 -
cachePrepStmtsДолжен ли драйвер кэшировать этап разбора PreparedStatements клиентских подготовленных инструкций, "проверку" пригодности подготовленных инструкций на стороне сервера и сами подготовленные инструкции на стороне сервера?
Значение по умолчанию false С версии 3.0.10 -
cacheResultSetMetadataДолжен ли драйвер кэшировать 'ResultSetMetaData' для инструкций и подготовленных инструкций?
Значение по умолчанию false С версии 3.1.1 -
cacheServerConfigurationДолжен ли драйвер кэшировать результаты "SHOW VARIABLES" и "SHOW COLLATION" на основе URL-адреса?
Значение по умолчанию false С версии 3.1.5 -
defaultFetchSizeДрайвер будет вызывать 'setFetchSize(n)' с этим значением для всех вновь созданных инструкций.
Значение по умолчанию 0 С версии 3.1.9 -
dontCheckOnDuplicateKeyUpdateInSQLПрекращает проверку того, содержит ли каждая инструкция INSERT предложение "ON DUPLICATE KEY UPDATE". Побочным эффектом является то, что получение информации о сгенерированных ключах инструкции вернет список, где обычно его не было бы. Также имейте в виду, что в этом случае возвращаемый список сгенерированных ключей может быть неточным. Действие этого свойства аннулируется, если оно установлено одновременно с "rewriteBatchedStatements=true".
Значение по умолчанию false С версии 5.1.32 -
elideSetAutoCommitsДолжен ли драйвер отправлять запросы 'set autocommit=n' только тогда, когда состояние сервера не соответствует запрашиваемому состоянию методом 'Connection.setAutoCommit(boolean)'?
Значение по умолчанию false С версии 3.1.3 -
enableEscapeProcessingУстанавливает поведение обработки экранирования по умолчанию для объектов Statement. Метод 'Statement.setEscapeProcessing()' может использоваться для указания поведения обработки экранирования для отдельного объекта инструкции. Поведение обработки экранирования по умолчанию в подготовленных инструкциях должно быть определено свойством 'processEscapeCodesForPrepStmts'.
Значение по умолчанию true С версии 6.0.1 -
enableQueryTimeoutsПри включении, таймауты запросов, установленные через 'Statement.setQueryTimeout()', используют общий экземпляр 'java.util.Timer' для планирования. Даже если таймаут не истечет до обработки запроса, память будет использоваться 'TimerTask' для данного таймаута, который не будет освобожден до тех пор, пока не истечет время таймаута, если он не был отменен драйвером. В средах с высокой нагрузкой следует рассмотреть возможность отключения этой функции.
Значение по умолчанию true С версии 5.0.6 -
largeRowSizeThresholdКакой размер строки набора результатов драйвер JDBC должен считать большим и, следовательно, использовать более эффективный способ представления строки внутри?
Значение по умолчанию 2048 С версии 5.1.1
-
readOnlyPropagatesToServerДолжен ли драйвер вызывать соответствующие заявления для неявного задания режима доступа к транзакциям на стороне сервера, когда вызывается 'Connection.setReadOnly()'? Установка этого свойства в значение "true" позволяет оптимизировать потенциально режим только для чтения InnoDB, но также требует дополнительного обращения для установки правильного состояния транзакции. Даже если это свойство установлено в значение "false", драйвер приложит все усилия, чтобы предотвратить выполнение запросов, изменяющих состояние базы данных.
Значение по умолчанию true Версия с 5.1.35 -
rewriteBatchedStatementsДолжен ли драйвер использовать многозапросы, независимо от значения 'allowMultiQueries', а также переписывать подготовленные операторы для запросов INSERT и REPLACE в операторы с многозначным предложением, когда вызывается 'executeBatch()'?
Обратите внимание, что это может привести к SQL-инъекции при использовании обычных операторов, если входные данные не отфильтрованы должным образом. Также обратите внимание, что для подготовленных операторов, если длина потока не указана при использовании 'PreparedStatement.set*Stream()', драйвер не сможет определить оптимальное количество параметров на пакет и может вернуть ошибку, что результирующий пакет слишком большой.
'Statement.getGeneratedKeys()', для операторов, которые переписываются, работает только тогда, когда весь пакет состоит из операторов INSERT или REPLACE.
Имейте в виду, что при использовании "rewriteBatchedStatements=true" с "INSERT ... ON DUPLICATE KEY UPDATE" для переписанных операторов сервер возвращает только одно значение для всех затронутых (или найденных) строк в пакете, и его нельзя правильно сопоставить с исходными операторами; в этом случае драйвер возвращает "0" в качестве результата для каждого оператора пакета, если общее количество было нулевым, и 'Statement.SUCCESS_NO_INFO', если общее количество было больше нуля.
Значение по умолчанию false Версия с 3.1.13 -
useReadAheadInputИспользовать оптимизированный асинхронный буферизованный входной поток при чтении с сервера?
Значение по умолчанию true Версия с 3.1.5
© 2025 Oracle
Licensed under the GPLv2 License.