`

autocommit和preparedstatement对mysql性能的影响

阅读更多

     mysql默认是autocommit=true,这个是很影响性能的,不过hibernate会自动将其设为false

 

dbcp中也有相关的设置,c3p0没有这样的设置

    mysql默认的隔离级别是重复读,REPEATABLE-READ,可以在hibernate中设置成其它级别,read-committed加上乐观锁对性能有某些提高

     mysql对prepared没有做什么优化,在连接池中最好不要打开preparedstatetion缓冲,但是使用prepared statements可以防止sql注入。

    当使用prepared statements时,query cache不起作用


     而MSSQL2000下,PreparedStatement 比Statement慢;
Oracle,PostgreSQL对它的支持最好,使用PreparedStatement 性能比Statement高

   mysql jdbcurl可加入以下选项:

useServerPreparedStmts=true

 

0
0
分享到:
评论

相关推荐

    Mysql与Java开发指南

    首先,MySQL是一款开源、免费的关系型数据库管理系统(RDBMS),它以其高性能、高可扩展性和易用性而广受青睐。在Java开发中,MySQL常作为后端数据存储,用于处理应用程序的数据。理解MySQL的基础概念,如表、索引、...

    jsp-mysql.rar_J2EE_MYSQL

    在J2EE(Java 2 Platform, Enterprise Edition)开发中,MySQL是一个常用的关系型数据库...通过对JSP、MySQL、JDBC、连接池、事务处理、错误处理等概念的深入理解和实践,开发者可以更好地构建高效、稳定的Web应用。

    mysql-c-api 参考手册

    这个接口允许程序员使用 C 语言编写应用程序,实现对 MySQL 数据库的创建、查询、更新和删除等操作。在深入探讨之前,我们需要了解一些基本概念: 1. **连接数据库**:在使用 MySQL-C-API 开发应用时,首先需要建立...

    java_JDBC_5.17_驱动包 (mysql-connector-java-5.1.7-bin.jar)

    虽然它比较老,但它包含了对当时MySQL版本特性的支持,包括事务处理、存储过程、预编译的SQL语句等。如果一个项目依赖于特定的数据库版本,或者由于兼容性问题不能升级驱动,那么这个老版本的驱动就显得尤为重要。 ...

    mysql的帮助API

    事务处理在数据库操作中至关重要,MySQL API提供了`mysql_autocommit()`来设置自动提交模式,以及`mysql_commit()`和`mysql_rollback()`来进行显式提交和回滚。这确保了数据的一致性,尤其是在多用户并发环境下。 ...

    JDBC使用MySQL处理大数据+事务控制管理.txt

    本文详细介绍了如何使用JDBC结合MySQL处理大数据,并通过批处理技术和事务管理来提高系统的性能和数据一致性。通过合理配置参数以及正确使用JDBC API,可以有效地提升大数据处理的效率。此外,对于事务管理的理解和...

    jsp 操作MYSQL数据库

    MySQL支持ACID(原子性、一致性、隔离性和持久性)特性,可以通过设置`SET autocommit=0`来开启手动事务,然后用`COMMIT`提交事务或`ROLLBACK`回滚事务。 在MyEclipse中,你可以通过以下步骤来运行这个项目: 1. ...

    java与Mysql之间的数据库连接

    MySQL是一种流行的开源关系型数据库管理系统,它具有高性能、易用性和可扩展性等特点。在安装MySQL时,需要注意端口设置(默认为3306)、root用户的初始密码设定以及字符集的选择,如UTF-8,以支持多语言环境。 在...

    jdbc连接数据库的方式2

    无论多少次地使用同一个SQL命令,PreparedStatement都只对它解析和编译一次。当使用Statement对象时,每次执行一个SQL命令时,都会对它进行解析和编译。这可能会使你认为,使用PreparedStatement对象比使用Statement...

    Java连接MySql数据库,并且实现插入、删除、更新、选择操作[定义].pdf

    【Java连接MySQL数据库实现CRUD操作】 在Java编程中,连接MySQL数据库并执行常见的CRUD(Create、Read、...同时,为了更好的异常处理和事务管理,可以考虑使用try-with-resources语句和Connection的autoCommit属性。

    MySql 快速插入千万级大数据的方法示例

    本文将探讨如何优化这一过程,以实现快速插入,并通过具体的Java多线程和MySQL批量插入策略来提升性能。 首先,我们需要理解传统的逐条插入方式在大数据量下效率极低,因为它涉及到频繁的数据库交互,这会消耗大量...

    oracle jdbc驱动 ojdbc14-10.2.0.4.0.jar工具

    6. **SQL语句执行**:通过`Statement`、`PreparedStatement`和`CallableStatement`接口,开发者可以执行SQL查询、DML语句和存储过程。`PreparedStatement`预编译SQL,提高性能并防止SQL注入。 7. **结果集处理**:`...

    常用jdbc包和面试题

    如`Connection`接口代表数据库连接,`Statement`和`PreparedStatement`接口用于执行SQL,`ResultSet`接口表示查询结果。 2. **javax.sql**:此包提供了一些高级的数据库交互功能,比如数据源(DataSource)、连接池...

    学JDBC,这一篇就够了.pdf

    使用`PreparedStatement`执行插入、更新或删除操作可以提高代码的安全性和性能。 ```java String sql = "UPDATE STUDENT SET NAME = ? WHERE ID = ?"; PreparedStatement pstmt = conn.prepareStatement(sql); ...

    JDBC Database Access with Java

    `PreparedStatement`是`Statement`的子接口,用于执行预编译的SQL语句,提供更好的性能和安全性。例如,`PreparedStatement pstmt = conn.prepareStatement("INSERT INTO users (name, email) VALUES (?, ?)");`,...

    JDBC使用指南

    JDBC的核心组件包括`DriverManager`、`Connection`、`Statement`、`PreparedStatement`和`ResultSet`等。 1. **`DriverManager`**:负责加载数据库驱动,并创建与数据库的连接。 2. **`Connection`**:代表与数据库...

    sqlserver,jdbc

    例如,通过设置AutoCommit属性,可以手动控制事务的提交和回滚。使用PreparedStatement可以防止SQL注入攻击,并提高查询效率。连接池则能够重用已建立的数据库连接,减少资源开销。 总结来说,SQL Server 2005 JDBC...

    java--shujuku--huiyuanguanli.zip_JAVA数据库_Java数据库系统_会员_会员管理_会员管理

    6. 安全性:确保会员信息的安全,防止SQL注入和跨站脚本攻击,使用预编译的PreparedStatement来防止SQL注入,对敏感信息进行加密,同时定期备份数据以防意外丢失。 实现这些功能时,可能需要用到Spring框架的Spring...

    孙喜_数据库_

    "孙喜_数据库_"资料主要涵盖了JDBC的基本概念和使用方法,对初学者来说是非常有价值的资源。通过学习这些内容,你可以掌握如何在Java应用程序中连接数据库、执行SQL语句、处理结果集以及进行事务管理。这将为你的...

    Java基础知识.pdf

    14. **JDBC事务处理**:JDBC通过设置AutoCommit和调用`Connection.commit()`或`Connection.rollback()`来控制事务,实现ACID特性。 15. **Statement与PreparedStatement**:PreparedStatement预编译SQL语句,提高...

Global site tag (gtag.js) - Google Analytics