Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

select max_value(s0) from root.sg1.d1 where s0<0 group by ([1, 10000000), 1000ms)

实验结果


Image Added

Image AddedImage Removed

如上表所示,可以发现,在进行原始数据查询和聚合查询时,当选择率较低的场景下,查询执行时间有明显的提升,选择率大于50%的场景下与原有时间持平。groupby查询时与原有时间持平。如上表所示,可以发现,在进行原始数据查询和聚合查询时,当选择率较低的场景下,查询执行时间有明显的提升,选择率大于50%以及groupby查询的场景下与原有时间持平。


实验代码

Code Block
languagejava
import org.apache.iotdb.jdbc.IoTDBSQLException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JDBCQuery {

    public static void main(String[] args) throws ClassNotFoundException, SQLException {


        Class.forName("org.apache.iotdb.jdbc.IoTDBDriver");
        try (Connection connection =
                     DriverManager.getConnection("jdbc:iotdb://127.0.0.1:6667/", "root", "root");
             Statement statement = connection.createStatement()) {

            String sql = "select s0 from root.sg1.d1 where s0<0";
            System.out.println(sql);
            long startTime=System.currentTimeMillis();
            ResultSet resultSet = statement.executeQuery(sql);
            outputResult(resultSet);
            long endTime=System.currentTimeMillis();
            System.out.println("time: "+(endTime-startTime)+"ms");
        } catch (IoTDBSQLException e) {
            System.out.println(e.getMessage());
        }
    }

    private static void outputResult(ResultSet resultSet) throws SQLException {
        if (resultSet != null) {
            System.out.println("--------------------------");
            System.out.println();
            while (resultSet.next()) {
            }
        }
        System.out.println("--------------------------\n");
    }
}

...