Here to sposób na zwiększenie wydajności wsadu wsadowego. Czy można ustawić programowo rewriteBatchedStatements
, , a nie za pośrednictwem adresu URL?Jak programowo ustawić rewriteBatchedStatements dla sterownika jdbc mysql?
Odpowiedz
Jeśli nie chcesz to zrobić za pośrednictwem adresu URL, można użyć obiektu Properties
z DriverManager
:
Properties props = new Properties();
props.setProperty("user", ...);
props.setProperty("password", ...);
props.setProperty("rewriteBatchedStatements", "true");
Connection connection = DriverManager.getConnection(url, props);
Jeśli używasz MysqlDataSource
lub MysqlConnectionPoolDataSource
, musisz ustawić właściwość rewriteBatchedStatements
(lub ustawiający ustawiający setRewriteBatchedStatements(boolean)
Aby to zmienić w czasie działania po uzyskaniu połączenia, powinien mieć możliwość korzystania z:
((com.mysql.jdbc.ConnectionProperties) connection).setRewriteBatchedStatements(true);
Uwaga: Mam tylko spojrzał na źródłach MySQL Connector/J, dla tej ostatniej opcji, nie mam przetestowałem to.
AKTUALIZACJA
Dla C3P0 można użyć następujących:
ComboPooledDataSource cpds = ...
Connection connection = cpds.getConnection();
connection.unwrap(com.mysql.jdbc.ConnectionProperties.class).setRewriteBatchedStatements(true);
C3P0 powinny być com.mchange:c3p0:0.9.5.2
, należy zachować ostrożność z com.mchange
- z drugiej GroupID kod ten nie działa.
@Cherry Dzięki za edycję. Całkowicie zapomniałem wspomnieć o "unwrap", prawdopodobnie będzie działać dla normalnego połączenia MySQL i dla zawiniętych połączeń MySQL innych źródeł danych. –
Powinieneś być w stanie to zrobić przy użyciu Connection.setClientInfo
:
Connection c = ...;
c.setClientInfo("rewriteBatchedStatements", "true");
Czy wiesz na pewno, że to działa? Po prostu rzuciłem okiem na kod źródłowy MySQL/kod źródłowy J, ale setClientInfo wydaje się tylko ustawiać informacje po stronie serwera dotyczące bieżącego połączenia. –
- 1. PostgreSQL - Instalowanie sterownika JDBC
- 2. Jak używać sterownika JDBC MySQL w projekcie SBT Scala?
- 3. Postgres: Nie znaleziono odpowiedniego sterownika dla jdbc
- 4. Ustawienia NLS_LANG dla cienkiego sterownika JDBC?
- 5. Jak używać sterownika JDBC z dowolnej lokalizacji
- 6. Jak ustawić bieżący schemat dla DB2 przy użyciu Hibernate/JDBC?
- 7. Jak ustawić programowo programowo?
- 8. Spring JDBC Nie można załadować klasy sterownika JDBC [oracle.jdbc.driver.OracleDriver]
- 9. Parsowanie SQL za pomocą sterownika JDBC Oracle
- 10. Używanie sterownika JDBC OrientDB z ActiveRecord
- 11. jak programowo ustawić bieżącą stronę dla UIPageControl?
- 12. Jak programowo ustawić wagę dla przycisku
- 13. Jak programowo ustawić marginesy dla TextView?
- 14. Jak używać sterownika Oracle JDBC w projekcie Gradle
- 15. Ręcznie ustawić ModelState.isValid ze sterownika
- 16. Jak programowo ustawić windowDrawsSystemBarBackgrounds?
- 17. Jak ustawić nazwę aplikacji w adresie URL JDBC Postgresql?
- 18. ClassNotFoundException: com.mysql.jdbc.Driver. Sterownik JDBC MySQL dla aplikacji internetowych
- 19. Przedstawianie sterownika widoku modalnego programowo w Swift
- 20. Co to jest typ 1,2,3 lub 4 sterownika JDBC?
- 21. programowo sprawdzające otwarte połączenie w JDBC
- 22. Jak używać podzapytania MySQL w JDBC?
- 23. BŁĄD: org.hibernate.util.JDBCExceptionReporter - Nie można załadować klasy sterownika JDBC "com.mysql.jdbcDriver"
- 24. Jak ustawić programowo kilka opcji
- 25. Jakie są zalety instalacji sterownika JDBC jako modułu w WildFly?
- 26. nie można połączyć aplikacji Grails z bazą danych mySql, Nie można załadować klasy sterownika JDBC "com.mysql.jdbc.Driver"
- 27. MySQL, C++ - programowo, jak działa autoinżynieria MySQL?
- 28. Jak programowo ustawić rozmiar NSView?
- 29. Android jak ustawić windowanimation programowo
- 30. Jak programowo ustawić layout_alignParentRight = "false"?
Moje to istniejące pytanie w SO pomoże ci. http://stackoverflow.com/questions/26307760/mysql-and-jdbc-with-rewritebatchedstatements-true –