Spec-Zone.ru › MySQL Connectors 1.0

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.
https://docs.oracle.com/cd/E17952_01/connector-j-en/connector-j-connp-props-performance-extensions.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API