gpt4 book ai didi

java - 如何加快获取图像和文本的jdbc sql查询速度

转载 作者:行者123 更新时间:2023-12-02 11:25:36 26 4
gpt4 key购买 nike

我正在从数据库中获取图像和文本,图像类型是longblob,当我在 SQL 查询中包含图像时,需要很长时间才能显示结果,我不知道出了什么问题,但是当我删除 SQL 查询结果中的照片时,只需要不到一秒钟的时间。连接正常并且工作正常,问题是速度,请帮助我?

外部连接类:

     public class jconnect_registry {

public static Connection connectDb2() {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn2 =
DriverManager.getConnection("jdbc:mysql://localhost:3306/registry", "root", "root");
return conn2;
}

catch (ClassNotFoundException | SQLException e) {
JOptionPane.showMessageDialog(null, "Connection problem ");

return null;
}
}

}

我用来调用与数据库连接的主类:

 // connect to database 
Connection conn2 = jconnect_registry.connectDb2();

// Fetch data(text and image) from mysql


private void FindStudentInfo() {
String sql7;
Image image;
Image newImg ;
ImageIcon ic;
byte[] imagedata ;
try{
sql7 = "select Registration_No,Names,Faculty,Department,photo as 'profile' from students where Registration_No = '" + this.srchregno_txtfld.getText() + "'";
ps25 = conn2.prepareStatement(sql7);
rs25 = ps25.executeQuery();

//set image to image jlabel
if(rs25.next()) {

String add1 = rs25.getString("Registration_No");
this.Regno_jlabel.setText(add1);
String add2 = rs25.getString("Names");
this.FirstName_jlabel.setText(add2);
String add3 = rs25.getString("Faculty");
this.fclty_jlabel.setText(add3);
String add4 = rs25.getString("Department");
this.dpt_jlabel.setText(add4);
imagedata = rs25.getBytes("profile");
ic = new ImageIcon(imagedata);
image = ic.getImage();
newImg = image.getScaledInstance(this.img_jlabel1.getWidth(), this.img_jlabel1.getHeight(), 40);
ic = new ImageIcon(newImg);
this.img_jlabel1.setIcon(ic);

}}

最佳答案

执行两个查询。第一个查询使用“快”数据,如字符串、数字等。然后,第二个查询使用“慢”数据(图像),将在单独的线程中完成。

用户将看到一个包含所有数据的对话框以及稍后将出现的图像的保留空间。您可以添加一些进度动画或类似的东西。

这或多或少与您在互联网上浏览时看到的内容相同......

关于java - 如何加快获取图像和文本的jdbc sql查询速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49649941/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com