0
我想用Java連接到我的MySQL數據庫。下面是代碼:Java MySQL的查詢速度比預期慢
Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
java.sql.Statement stmt = connection.createStatement();
long startTime = System.currentTimeMillis();
stmt.execute("SELECT row_1, row_2, row_3, row_4 FROM dataset where row_5 is null and row_6 is null limit 100");
long endTime = System.currentTimeMillis();
System.out.println("That took " + (endTime - startTime) + " milliseconds");
ResultSet rs = stmt.getResultSet();
while (rs.next()) {
System.out.println(rs.getString("row_1"));
}
stmt.close();
表 '數據集' 是500萬行,並且索引的初級(row_1,row_2,row_3,row_4)和第二索引(row_5和row_6)。
未緩存,此查詢使用SequelPro for Mac(數據庫管理軟件)需要1.9 ms。但是,當我在Java中運行上面的代碼時,大約需要1800毫秒(未緩存)。請讓我知道,如果它只是Java很慢,或者我可以做一些事情來優化Java中的查詢,因爲它使用SequelPro或使用其他腳本語言可以很好地工作。
當你在sequelPro中執行查詢時,你是否像在代碼中那樣考慮了連接數據庫的時間? – pedromarce 2014-08-27 09:51:34
你如何測量時間? – 2014-08-27 09:52:11
MySQL在Mac上運行速度較慢。嘗試使用linux(centos,ubuntu)製作虛擬機並在其上安裝mysql。 – Meiblorn 2014-08-27 09:53:35