2017-01-24 2 views
3

Я пытался улучшить производительность нашего подключения jdbc к нашей базе данных SQL-сервера Microsoft. Я перешел от jTDS jdbc driver к официальным Microsoft JDBC driveron maven:MSSQL db Характеристики производительности JDBC

Для MySQL, существует свойство конфигурации, такие как cachePrepStmts, prepStmtCacheSize, prepStmtCacheSqlLimit и т.д., но я не мог найти, если они существуют для Microsoft SQL server.

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

Любые идеи?

Редактировать: Я, наконец, решил проблему, создав пользовательские пакетные SQL-запросы в стиле'delete o из OBJECT, где o.id является одним из этих наборов идентификаторов. Это, по крайней мере, сделало трюк для удаления, и это единственное, что нам нужно было оптимизировать прямо сейчас.

+1

https://msdn.microsoft.com/en-us/library/ms378988(v=sql.110).aspx и https://msdn.microsoft. com/en-us/library/mt732336 (v = sql.110) .aspx и https://msdn.microsoft.com/en-us//library/ms378877(v=sql.110).aspx –

+0

Благодарим вас за ваш комментарий. Я думаю, что вторая ссылка очень полезна, хотя я не нашел кеширования и навального письма, как я ожидал. – Ben

+1

Когда вы загружаете драйвер, в архиве находится каталог 'samples' с« cacheRS.java », который содержит следующий заголовок:« * Кроме того, он демонстрирует, как управлять объемом данных, которые извлекаются из базы данных и кэшируется на клиенте * « –

ответ

2

Вероятно, лучшим источником для такого рода информации будет в статье MSDN

Improving Performance and Reliability with the JDBC Driver

, который включает в себя такие темы, как

  • закрытия объектов, когда он не используется
  • Управление Transaction Размер
  • Работа с утверждениями и наборами результатов
  • Использование Adaptive буферизацию
  • разреженных столбцов
+0

Благодарим вас за ответ. Кажется, что нет никакой пакетной записи для запросов на вставку/обновление/удаление для SQL-сервера, правильно? Только очень странная копия. – Ben

+1

Если в «пакетной записи» вы имеете в виду что-то вроде 'rewriteBatchedStatements = true' в MySQL Connector/J, то нет, я не знаю какой-либо соответствующей функции в Microsoft JDBC-драйвер для SQL Server. –

Смежные вопросы