dbcp释放mysql_DBCP连接及MySQL优化

一:数据库连接池的原理

数据库连接池保存了一些数据库连接对象(Connection对象),操作数据库时

直接从连接池中获取Connection对象,用完后又放回数据库连接池中。通过

对连接对象的保存与放回,大大提高了数据库的访问效率。

二:DBCP连接池组件

Properties pro=new Properties(); // 属性资源类

InputStream input=DBCPDemo.class.getClassLoader().getResourceAsStream("dbcpfactory.properties"); // 获取指向配置文件的输入流

pro.load(input); // 从输入流中读取属性列表(键和元素对)

DataSource ds=BasicDataSourceFactory.createDataSource(pro);

Connection conn=ds.getConnection(); // 获取连接对象

注意:属性配置文件中的key不能改变。

三:C3P0连接池组件

配置文件为:c3p0-config.xml

org.gjt.mm.mysql.Driver

jdbc:mysql://localhost:3306/mydb2?characterEncoding=utf8

root

123456

10

30

100

10

200

ComboPooledDataSource ds=new ComboPooledDataSource(); // 获取连接池对象

Connection conn=ds.getConnection(); // 获取Connection数据库连接对象

四:MySQL中的触发器(trigger)

delimiter //

create trigger 触发器名称 before|after 触发事件(insert|delete|update)

on 触发器关联的表名称 for each row

begin

触发器执行的逻辑代码

end

delimiter ;

触发器案例:

delimiter //

create trigger stu_trigger after insert

on student for each row

begin

insert into log(logname,logtime)values(new.name,now());

end //

delimiter ;

五:MySQL的优化

查询优化的方法:

1.优化查询SQL语句。如果连接查询和子查询都可以查询到结果,则优先选择连接查询。

因为子查询时会创建临时表,临时表的内容是存储子查询结果的,查询完毕后,还要撤销临时表。

2.在频繁使用的列上创建索引(index)。

3.拆表。如果一个表中的字段很多,应该将不经常使用的字段存储于另一张表中,原表

只保留常用查询字段。

4.增加冗余字段。将需要经常使用到的信息以冗余字段的方式添加到表中,省去了连接

查询的耗时。eg:如果经常要查询员工姓名与其对应的部门名称,则

可将部门名称作为员工表emp的一个冗余字段,省去了emp表与dept表

的连接查询。

5.增加中间表。建立一个中间表,将多张表的查询字段存放于此中间表中。

六:使用MySQL Workbench建立ER图,导出成SQL文件,并导入

1.在Data Modeling模式下创建EER模型。

2.导出EER模型为SQL文件。

3.在SQL Development模式下导入SQL文件,并执行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值