Создание пула PreparedStatement на Tomcat с MySQL - PullRequest
5 голосов
/ 29 октября 2010

При использовании Tomcat с MySQL, какова связь между настройкой poolPreparedStatements в конфигурации Tomcat DataSource (я полагаю, исходя из DBCP) и настройкой Connector / J cachePrepStmts ? Какая оптимальная конфигурация?

Ответы [ 2 ]

3 голосов
/ 08 января 2011

poolPreparedStatements - это параметр для пула соединений Tomcat JDBC, а cachePrepStmts - это параметр для Connector / J, который сообщает MySQL для кэширования подготовленных операторов. Две совершенно разные вещи. cachePrepStmts является настройкой для каждого соединения, но Connector / J не заботится о том, подключается ли он к пулу соединений с базой данных или напрямую к MySQL, однако cachePrepStmts лучше всего работает с постоянными соединениями (например, пулами соединений). Использование cachePrepStmts с пулом соединений является оптимальной конфигурацией. Использование poolPreparedStatements в Tomcat - это открытие червя для управления памятью (ознакомьтесь с документацией Tomcat для этого параметра, и вы увидите). На самом деле, лучше всего разрешить MySQL кэшировать подготовленные операторы и позволить Tomcat объединять соединения, а не пытаться заставить одно выполнять работу другого.

0 голосов
/ 29 октября 2010

Не уверен, поможет ли это, но взгляните на принятый ответ на этот вопрос .

...