TDengine小测试文档记录

一、模拟插入数据

1.创建超级表 空调类别表

CREATE STABLE kongtiao(collection_date timestamp, wendu float,shidu float,A float,B float,C float,D float,E float,F float,G float,H float,I float,J float,K float) TAGS (location binary(64), groupId int);

2.使用代码模拟创建五百张设备表

for (int i = 0; i < 500; i++) {
    String sql = "CREATE TABLE  kongtiaodevice" + i + " USING kongtiao TAGS (\"kongtiao." + i + "\", " + i + ");";
    System.out.println("insert data!");
    databaseMonitor.init().insertData(sql);
}

3.模拟插入数据

  
//模拟每分钟一次数据采集,一个设备一天采集1440次,保存数据1440行(若为mysql,保存的数据则是1440*13为18720行数据)
        //若模拟500个设备,共13个指标,每个设备一张表,一天总数据约为720000(1440*500)行
        //模拟已经运行一年的时间,则约为259,200,000行数据(360*720000)
        do {
            try {
                long runOnceTime = System.currentTimeMillis();
                runTime = calendar.getTimeInMillis();
                //加一分钟后保存数据
                calendar.add(Calendar.MINUTE, 1);
                System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar.getTime()));
                StringBuilder insertSQL = new StringBuilder("INSERT INTO ");
                //遍历五百次加500个数据
                for (int i = 0; i < 500; i++) {
                    insertSQL.append("kongtiaodevice" + i + "  VALUES (" + calendar.getTime().getTime() + ", 15.2,25.1,15.5,15.6,15.7,18.5,52.0,520,125,211,1,5,4)");
​
                }
                insertSQL.append(";");
                //插入数据库
                databaseMonitor.init().insertData(insertSQL.toString());
                System.out.println("----->run once use:" + (System.currentTimeMillis() - runOnceTime) + " ms");
            } catch (Exception e) {
                e.printStackTrace();
                System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + "----->!!!error!!!");
            }
​
        } while (runTime < nowTime);

5.插入数据耗时观察

//执行一次(一次五百个设备的13个指标的数据插入情况)的耗时部分截取如下
......
----->run once use:21 ms
----->run once use:20 ms
----->run once use:25 ms
----->run once use:20 ms
----->run once use:24 ms
----->run once use:26 ms
----->run once use:21 ms
----->run once use:24 ms
----->run once use:21 ms
----->run once use:21 ms
----->run once use:23 ms
----->run once use:29 ms
----->run once use:22 ms
......
----->run once use:21 ms
----->run once use:55 ms
----->run once use:22 ms
----->run once use:24 ms
----->run once use:20 ms
----->run once use:40 ms
----->run once use:21 ms
----->run once use:23 ms
----->run once use:23 ms
----->run once use:26 ms
----->run once use:24 ms
----->run once use:21 ms
----->run once use:21 ms
----->run once use:25 ms
----->run once use:21 ms
......
全部总用时约13257秒,220.9分钟,3.6小时,实际插入263520500行数据,
​
---->all use: 12232940ms

二、查询耗时观察

1.查询超级表数据总行数(执行三次结果对比)
select count(0) from kongtiao;
​
result: 263520500
​
Query OK, 1 row(s) in set (13.775320s)
Query OK, 1 row(s) in set (13.899532s)
Query OK, 1 row(s) in set (13.853991s)

2.查询设备表总行数(执行三次结果对比)
select count(0) from kongtiaodevice6;
​
result: 527041
​
Query OK, 1 row(s) in set (0.055528s)
Query OK, 1 row(s) in set (0.056793s)
Query OK, 1 row(s) in set (0.054600s)

3.查询超级表所有数据

超过七分钟,未继续等待结果

4.模拟场景范围查询
4.1 查询指定设备所有指标最新数据
4.1.1限定超级表查询条件查询(执行三次结果对比)
select * from kongtiao where location="kongtiao.3" and groupid=3  order by collection_date desc limit 0,1;
​
Query OK, 1 row(s) in set (0.197527s)
Query OK, 1 row(s) in set (0.162327s)
Query OK, 1 row(s) in set (0.162825s)
4.1.2从具体设备表查询(执行三次结果对比)
select * from kongtiaodevice3 order by collection_date desc limit 0,1;
​
Query OK, 1 row(s) in set (0.161188s)
Query OK, 1 row(s) in set (0.163021s)
Query OK, 1 row(s) in set (0.161021s)

4.2 查询指定设备所有指标10080(约七天数据,1440*7)条历史数据;
4.2.1限定超级表查询条件查询(执行三次结果对比)
select * from kongtiao where collection_date >= " 2022-11-30 00:00:00" and collection_date<="2022-12-06 23:59:59"  and  location="kongtiao.7" and groupid = 7  limit 0,10080;
​
result: ...
​
Query OK, 10080 row(s) in set (1.891665s)
Query OK, 10080 row(s) in set (1.846722s)
Query OK, 10080 row(s) in set (1.986305s)
4.2.2指定设备表查询条件查询(执行三次结果对比)
select * from kongtiaodevice8 where collection_date >= " 2022-11-30 00:00:00" and collection_date<="2022-12-06 23:59:59"   limit 0,10080;
​
result:
​
Query OK, 10080 row(s) in set (1.619627s)
Query OK, 10080 row(s) in set (1.501426s)
Query OK, 10080 row(s) in set (1.559705s)

4.3查询指定单个设备指定单个指标10080(约七天数据,1440*7)条历史条历史数据;
4.3.1.限定超级表查询设备条件查询(执行三次结果对比)
select shidu from kongtiao where collection_date >= " 2022-11-30 00:00:00" and collection_date<="2022-12-06 23:59:59"  and  location="kongtiao.9" and groupid = 9  limit 0,10080;
​
result: ...
​
Query OK, 10080 row(s) in set (0.084002s)
Query OK, 10080 row(s) in set (0.076584s)
Query OK, 10080 row(s) in set (0.078624s)

4.3.2指定单个设备表查询条件查询(执行三次结果对比)
select shidu from kongtiaodevice9 where collection_date >= " 2022-11-30 00:00:00" and collection_date<="2022-12-06 23:59:59"    limit 0,10080;
​
result: ...
​
Query OK, 10080 row(s) in set (0.304008s)
Query OK, 10080 row(s) in set (0.105621s)
Query OK, 10080 row(s) in set (0.104178s)

4.4查询指定多个设备指定多个指标从50400(约七天数据,1440*7 * 5,5为模拟设备数)条历史数据中聚合查询五分钟间隔数据;(执行三次结果对比)
select _wstart,max(wendu) from kongtiao  where collection_date >= " 2022-11-30 00:00:00" and collection_date<="2022-12-06 23:59:59" and ((location="kongtiao.5" and groupid = 5)  or   (location="kongtiao.1" and groupid = 1)  or   (location="kongtiao.2" and groupid 
= 2)  or   (location="kongtiao.3" and groupid = 3)  or  (location="kongtiao.4" and groupid = 4)   ) INTERVAL(300s)   limit 0,50400;
​
result:...
​
Query OK, 2016 row(s) in set (0.170980s)
Query OK, 2016 row(s) in set (0.179655s)
Query OK, 2016 row(s) in set (0.165498s)

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值