gpt4 book ai didi

java/mysql/慢

转载 作者:行者123 更新时间:2023-11-29 14:39:12 28 4
gpt4 key购买 nike

这里的要点是:

1.设置query_cache_type = 0;重置查询缓存;

2.在 heidisql(或任何其他客户端 UI)中运行任何查询 --> 执行,例如 45 毫秒

3.使用以下代码运行相同的查询 --> 执行时间为120 毫秒。并且与其他查询的差异呈指数级上升

4.添加/删除的那些根本没有帮助的东西被注释掉了

      long sql_execution_time = 0;
String url = "jdbc:mysql://my.net:3306/test";

Class.forName("com.mysql.jdbc.Driver").newInstance();

Properties props = new Properties();
props.setProperty("user", "root");
props.setProperty("password", "pwd");

//kao not recomended
//http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-configuration-properties.html
//props.setProperty("autoReconnect", "true");

props.setProperty("characterEncoding", "UTF-8");
//props.setProperty("useReadAheadInput", "true");
//props.setProperty("SelectMethod", "direct");
//props.setProperty("responseBuffering", "adaptive");



Connection con = DriverManager.getConnection(url,props);
String sql = "select g.*,t.id_tezaver_obfuscated,group_concat(t.data_source) as taxonomy_src,substring_index(group_concat(t.term order by t.eunis ),',',1) as term,(select count(t2.term) from tezaver t2 where t2.id_tezaver = g.id_tezaver and t2.l2 <> 'la') as c from galery_1 g left join tezaver t on g.id_tezaver = t.id_tezaver and t.l2 = 'la' where 1 = 1 group by g.id_galery order by g.id_galery asc limit 0,18;";

//java.sql.Statement stm = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
java.sql.Statement stm = con.createStatement();



Calendar cal = Calendar.getInstance();
long startTime = cal.getTimeInMillis();

ResultSet rs = stm.executeQuery(sql);


Calendar cal1 = Calendar.getInstance();
long endTime = cal1.getTimeInMillis();
sql_execution_time = endTime - startTime;
long krneki = sql_execution_time;
startTime = endTime;
stm.close();
con.close();
result = String.valueOf(sql_execution_time);

最佳答案

重要的是要了解您的 Java 代码不仅仅是执行查询。它还做一些其他事情;

  • 加载mysql驱动
  • 打开连接
  • 创建一些对象

您正在对整个事情进行计时,而不仅仅是查询的执行。用户界面的行为可能有所不同。它可能只是计时查询执行所需的时间。

在性能方面比较两者并不符合逻辑。

关于java/mysql/慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8323056/

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