MySQL的优化和jdbc的使用

本文详细介绍了MySQL的优化方法,包括查看sql执行频率、使用explain分析执行计划、trace分析优化器、大批量插入优化,以及通过jdbc操作数据库的Java示例。
摘要由CSDN通过智能技术生成

一、MySQL的优化

1.查看sql执行频率

在这里插入图片描述
在这里插入图片描述

定位低效率执行sql:

  • 慢查询日志:通过慢查询日志定位那些执行效率较低的sql语句。
  • show processlist:该命令查看当前MySQL在进行的线程,包括线程的状态、是否锁表等,可以实时地查看sql的执行情况,同时对一些缩表操作进行优化

慢查询日志

在这里插入图片描述

show processlist

在这里插入图片描述

2.explain分析执行计划

(通过以上步骤查询到效率低的sql语句后,可以通过explain命令获取MySQL如何执行select语句的信息,包括在select语句执行过程中表如何连接和连接的顺序)
在这里插入图片描述

在这里插入图片描述

Explain 之 id

  • id相同表示加载表的顺序是从上到下
  • id 不同id值越大,优先级越高,越先被执行
  • id 有相同,也有不同,同时存在。id相同的可以认为是一组,从上往下顺序执行,在所有的组中,id的值越大,优先级越高,越先执行

Explain 之 select_type

在这里插入图片描述

Explain 之 type

在这里插入图片描述

其他指标字段

在这里插入图片描述
在这里插入图片描述

3.trace分析优化器执行计划

在这里插入图片描述
在这里插入图片描述

4.大批量插入数据

在这里插入图片描述
在这里插入图片描述

5、insert优化

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、jdbc操作

(通过Java代码对MySQL数据库进行操作)
在这里插入图片描述
对MySQL数据库进行控制的流程


public class jdbcDemo01 {
    public static void main(String[] args) throws SQLException {
        // 1.注册驱动
        DriverManager.registerDriver(new com.mysql.jdbc.Driver());
        // 2.获取连接
        Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybd05", "root", "lzj2357111317");
        // 3.执行sql
        Statement statement = connection.createStatement();
        ResultSet resultSet = statement.executeQuery("select * from student");
        // 4.处理结果集
        while (resultSet.next()){
            // 获取每一列数据
            int sid = resultSet.getInt(1);
            String name = resultSet.getString(2);
            int age = resultSet.getInt(3);

            System.out.println(sid + "\t" + name + "\t" + age);
        }
        // 5.关闭连接
        resultSet.close();
        statement.close();
        connection.close();
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值