当前位置: 首页 > news >正文

doris:MySQL 兼容性

Doris 高度兼容 MySQL 语法,支持标准 SQL。但是 Doris 与 MySQL 还是有很多不同的地方,下面给出了它们的差异点介绍。

数据类型​

数字类型​

类型MySQLDoris
Boolean- 支持
- 范围:0 代表 false,1 代表 true
- 支持
- 关键字:Boolean
- 范围:0 代表 false,1 代表 true
Bit- 支持
- 范围:1 ~ 64
不支持
Tinyint- 支持
- 支持 signed,unsigned
- 范围:signed 的范围是 -128 ~ 127,unsigned 的范围是 0 ~ 255
- 支持
- 只支持 signed
- 范围:-128 ~ 127
Smallint- 支持
- 支持 signed,unsigned
- 范围:signed 的范围是 -2^15 ~ 2^15-1,unsigned 的范围是 0 ~ 2^16-1
- 支持
- 只支持 signed
- 范围:-32768 ~ 32767
Mediumint- 支持
- 支持 signed,unsigned
- 范围:signed 的范围是 -2^23 ~ 2^23-1,unsigned 的范围是 0 ~ -2^24-1
- 不支持
int- 支持
- 支持 signed,unsigned
- 范围:signed 的范围是 -2^31 ~ 2^31-1,unsigned 的范围是 0 ~ -2^32-1
- 支持
- 只支持 signed
- 范围: -2147483648~ 2147483647
Bigint- 支持
- 支持 signed,unsigned
- 范围:signed 的范围是 -2^63 ~ 2^63-1,unsigned 的范围是 0 ~ 2^64-1
- 支持
- 只支持 signed
- 范围: -2^63 ~ 2^63-1
Largeint- 不支持- 支持
- 只支持 signed
- 范围:-2^127 ~ 2^127-1
Decimal- 支持
- 支持 signed,unsigned(8.0.17 以前支持,该版本以上标记为 deprecated)
- 默认值:Decimal(10, 0)
- 支持
- 只支持 signed
- 默认值:Decimal(9, 0)
Float/Double- 支持
- 支持 signed,unsigned(8.0.17 以前支持,该版本以上标记为 deprecated)
- 支持
- 只支持 signed

日期类型​

类型MySQLDoris
Date- 支持
- 范围:['1000-01-01','9999-12-31']
- 格式:YYYY-MM-DD
- 支持
- 范围:['0000-01-01', '9999-12-31']
- 格式:YYYY-MM-DD
DateTime- 支持
- DATETIME([P]),可选参数 P 表示精度
- 范围:'1000-01-01 00:00:00.000000' ,'9999-12-31 23:59:59.999999'
- 格式:YYYY-MM-DD hh:mm

.fraction

- 支持
- DATETIME([P]),可选参数 P 表示精度
- 范围:['0000-01-01 00:00:00[.000000]', '9999-12-31 23:59:59[.999999]']
- 格式:YYYY-MM-DD hh:mm

.fraction

Timestamp- 支持
- Timestamp[(p)],可选参数 P 表示精度
- 范围:['1970-01-01 00:00:01.000000' UTC , '2038-01-19 03:14:07.999999' UTC]
- 格式:YYYY-MM-DD hh:mm

.fraction

- 不支持
Time- 支持
- Time[(p)]
- 范围:['-838:59:59.000000' to '838:59:59.000000']
- 格式:hh:mm

.fraction

- 不支持
Year- 支持
- 范围:1901 to 2155, or 0000
- 格式:yyyy
- 不支持

字符串类型​

类型MySQLDoris
Char- 支持
- CHAR(M),M 为字符长度,缺省表示长度为 1
- 定长
- 范围:[0,255],字节大小
- 支持
- CHAR(M),M 为字节长度
- 可变
- 范围:[1,255]
Varchar- 支持
- VARCHAR(M),M 为字符长度
- 范围:[0,65535],字节大小
- 支持
- VARCHAR(M),M 为字节长度。
- 范围:[1, 65533]
String- 不支持- 支持
- 1048576 字节(1MB),可调大到 2147483643 字节(2G)
Binary- 支持
- 类似于 Char
- 不支持
Varbinary- 支持
- 类似于 Varchar
- 不支持
Blob- 支持
- TinyBlob、Blob、MediumBlob、LongBlob
- 不支持
Text- 支持
- TinyText、Text、MediumText、LongText
- 不支持
Enum- 支持
- 最多支持 65535 个 elements
- 不支持
Set- 支持
- 最多支持 64 个 elements
- 不支持

JSON 数据类型​

类型MySQLDoris
JSON支持支持

Doris 特有的数据类型​

  • HyperLogLog

    HLL 类型不能作为 Key 列使用。在 Aggregate 模型表中使用时,建表时配合的聚合类型为 HLL_UNION。用户不需要指定长度和默认值。长度根据数据的聚合程度系统内控制。并且 HLL 列只能通过配套的 HLL_UNION_AGG、HLL_RAW_AGG、HLL_CARDINALITY、HLL_HASH 进行查询或使用。

    HLL 是模糊去重,在处理大数据量时,其性能优于 Count Distinct。HLL 的误差率通常在 1% 左右,有时可能会达到 2%。

  • BITMAP

    BITMAP 类型不能作为 Key 列使用。在 Aggregate 表中使用时,还需配合 BITMAP_UNION 聚合定义。用户无需指定长度和默认值,长度会根据数据的聚合程度由系统内部控制。并且,BITMAP 列只能通过配套的 BITMAP_UNION_COUNT、BITMAP_UNION、BITMAP_HASH、BITMAP_HASH64 等函数进行查询或使用。

    离线场景下使用 BITMAP 可能会影响导入速度,在数据量大的情况下,其查询速度会慢于 HLL,但优于 Count Distinct。注意:在实时场景下,如果 BITMAP 不使用全局字典,而使用了 BITMAP_HASH(),可能会导致约千分之一的误差。如果此误差不可接受,可以使用 BITMAP_HASH64。

  • QUANTILE_PERCENT(QUANTILE_STATE)

    QUANTILE_STATE 类型不能作为 Key 列使用。在 Aggregate 模型表中使用时,建表时配合的聚合类型为 QUANTILE_UNION。用户不需要指定长度和默认值。长度根据数据的聚合程度系统内控制。并且 QUANTILE_STATE 列只能通过配套的 QUANTILE_PERCENT、QUANTILE_UNION、TO_QUANTILE_STATE 等函数进行查询或使用。

    QUANTILE_STATE 是一种计算分位数近似值的类型,在导入时会对相同的 Key,不同 Value 进行预聚合,当 Value 数量不超过 2048 时,会采用明细记录所有数据,当 Value 数量大于 2048 时采用 TDigest 算法,对数据进行聚合(聚类),并保存聚类后的质心点。

  • Array<T>

    Array 由 T 类型元素组成的数组,不能作为 Key 列使用。

  • MAP<K, V>

    Map 是由 K, V 类型元素组成的映射表,不能作为 Key 列使用。

  • STRUCT<field_name:field_type, ... >

    Struct 由多个 Field 组成的结构体,也可被理解为多个列的集合。不能作为 Key 使用。

    一个 Struct 中的 Field 的名字和数量固定,且总是为 Nullable,一个 Field 通常由下面部分组成:

    • field_name: Field 的标识符,不可重复
    • field_type: Field 的类型
  • Agg_State

    AGG_STATE 不能作为 Key 列使用,建表时需要同时声明聚合函数的签名。

    用户不需要指定长度和默认值。实际存储的数据大小与函数实现有关。

    AGG_STATE 只能配合STATE / MERGE / UNION函数组合器使用。

语法区别​

DDL​

1 CREATE TABLE

Doris 建表语法:

CREATE TABLE [IF NOT EXISTS] [database.]table
(column_definition_list[, index_definition_list]
)
[engine_type]
[keys_type]
[table_comment]
[partition_info]
distribution_desc
[rollup_list]
[properties]
[extra_properties]

与 MySQL 的不同之处:

参数与 MySQL 不同之处
column_definition_list- 字段列表定义,其基本语法与 MySQL 类似。
- Doris 额外包含一个聚合类型的操作,主要支持的数据模型为 Aggregate Key。
- MySQL 允许在字段列表定义后添加 Index 等约束,如 Primary Key、Unique Key 等;而 Doris 则是通过定义数据模型来实现对这些约束和计算的支持。
index_definition_list- 索引列表定义,基本语法与 MySQL 类似
- MySQL 支持位图索引、倒排索引和 N-Gram 索引。另外可以通过属性设置布隆过滤器索引。
- MySQL 支持 B+Tree 索引和 Hash 索引。
engine_type- 表引擎类型,可选。
- 目前支持的表引擎主要是 OLAP 原生引擎。
- MySQL 支持的存储引擎有:Innodb,MyISAM 等
keys_type- 数据模型,可选。
- 支持的类型包括:1)DUPLICATE KEY(默认):其后指定的列为排序列。2)AGGREGATE KEY:其后指定的列为维度列。3)UNIQUE KEY:其后指定的列为主键列。
- MySQL 则没有数据模型的概念。
table_comment表注释
partition_info分区算法,可选。
Doris 支持的分区算法,包括:
- LESS THAN:仅定义分区上界。下界由上一个分区的上界决定。
- FIXED RANGE:定义分区的左闭右开区间。
- MULTI RANGE:批量创建 RANGE 分区,定义分区的左闭右开区间,设定时间单位和步长,时间单位支持年、月、日、周和小时。

MySQL 支持的算法:Hash,Range,List Key,并且还支持子分区,子分区支持的算法有 Hash 和 Key。
distribution_desc- 分桶算法,必选,包括:1)Hash 分桶语法:DISTRIBUTED BY HASH (k1[,k2 ...]) [BUCKETS num|auto] 说明:使用指定的 key 列进行哈希分桶。2)Random 分桶语法:DISTRIBUTED BY RANDOM [BUCKETS num|auto] 说明:使用随机数进行分桶。
- MySQL 没有分桶算法。
rollup_list- 建表的同时可以创建多个同步物化视图。
- 语法:rollup_name (col1[, col2, ...]) [DUPLICATE KEY(col1[, col2, ...])][PROPERTIES("key" = "value")]
- MySQL 不支持
properties表属性,与 MySQL 的表属性不一致,定义表属性的语法也与 MySQL 不一致

2 CREATE INDEX

CREATE INDEX [IF NOT EXISTS] index_name ON table_name (column [, ...],) [USING BITMAP];

  • 目前支持:位图索引、倒排索引和 N-Gram 索引,布隆过滤器索引(单独的语法设置)

  • MySQL 支持的索引算法有:B+Tree,Hash

3 CREATE VIEW

CREATE VIEW [IF NOT EXISTS][db_name.]view_name(column1[ COMMENT "col comment"][, column2, ...])
AS query_stmtCREATE MATERIALIZED VIEW (IF NOT EXISTS)? mvName=multipartIdentifier(LEFT_PAREN cols=simpleColumnDefs RIGHT_PAREN)? buildMode?(REFRESH refreshMethod? refreshTrigger?)?(KEY keys=identifierList)?(COMMENT STRING_LITERAL)?(PARTITION BY LEFT_PAREN partitionKey = identifier RIGHT_PAREN)?(DISTRIBUTED BY (HASH hashKeys=identifierList | RANDOM) (BUCKETS (INTEGER_VALUE | AUTO))?)?propertyClause?AS query

  • 基本语法与 MySQL 一致
  • Doris 除了支持逻辑视图外,还支持两种物化视图,同步物化视图和异步物化视图
  • MySQL 不支持物化视图

4 ALTER TABLE / ALTER INDEX

Doris Alter 的语法与 MySQL 的基本一致。

DROP TABLE / DROP INDEX​

Doris Drop 的语法与 MySQL 的基本一致

DML​

1 INSERT

INSERT INTO table_name[ PARTITION (p1, ...) ][ WITH LABEL label][ (column [, ...]) ][ [ hint [, ...] ] ]{ VALUES ( { expression | DEFAULT } [, ...] ) [, ...] | query }

Doris Insert 语法与 MySQL 的基本一致。

2 UPDATE

UPDATE target_table [table_alias]SET assignment_listWHERE conditionassignment_list:assignment [, assignment] ...assignment:col_name = valuevalue:{expr | DEFAULT}

Doris Update 语法与 MySQL 基本一致,但需要注意的是必须加上 WHERE 条件。

3 DELETE

DELETE FROM table_name [table_alias] [PARTITION partition_name | PARTITIONS (partition_name [, partition_name])]WHERE column_name op { value | value_list } [ AND column_name op { value | value_list } ...];

Doris 该语法只能指定过滤谓词

DELETE FROM table_name [table_alias][PARTITION partition_name | PARTITIONS (partition_name [, partition_name])][USING additional_tables]WHERE condition

Doris 该语法只能在 Unique Key 模型表上使用。

Doris Delete 语法与 MySQL 基本一致。但是由于 Doris 是一个分析数据库,所以删除不能过于频繁。

4 SELECT

SELECT[hint_statement, ...][ALL | DISTINCT]select_expr [, select_expr ...][EXCEPT ( col_name1 [, col_name2, col_name3, ...] )][FROM table_references[PARTITION partition_list][TABLET tabletid_list][TABLESAMPLE sample_value [ROWS | PERCENT][REPEATABLE pos_seek]][WHERE where_condition][GROUP BY [GROUPING SETS | ROLLUP | CUBE] {col_name | expr | position}][HAVING where_condition][ORDER BY {col_name | expr | position} [ASC | DESC], ...][LIMIT {[offset_count,] row_count | row_count OFFSET offset_count}][INTO OUTFILE 'file_name']

Doris Select 语法与 MySQL 基本一致

SQL Function​

Doris Function 基本覆盖绝大部分 MySQL Function。

相关文章:

doris:MySQL 兼容性

Doris 高度兼容 MySQL 语法&#xff0c;支持标准 SQL。但是 Doris 与 MySQL 还是有很多不同的地方&#xff0c;下面给出了它们的差异点介绍。 数据类型​ 数字类型​ 类型MySQLDorisBoolean- 支持 - 范围&#xff1a;0 代表 false&#xff0c;1 代表 true- 支持 - 关键字&am…...

mysql 存储过程和自定义函数 详解

首先创建存储过程或者自定义函数时&#xff0c;都要使用use database 切换到目标数据库&#xff0c;因为存储过程和自定义函数都是属于某个数据库的。 存储过程是一种预编译的 SQL 代码集合&#xff0c;封装在数据库对象中。以下是一些常见的存储过程的关键字&#xff1a; 存…...

C++ 中的 cJSON 解析库:用法、实现及递归解析算法与内存高效管理

在现代软件开发中&#xff0c;JSON&#xff08;JavaScript Object Notation&#xff09;作为一种轻量级的数据交换格式&#xff0c;因其易于阅读和编写、易于机器解析和生成的特性&#xff0c;被广泛应用于各种场景。C 作为一种强大的编程语言&#xff0c;自然也需要一个高效的…...

websocket自动重连封装

websocket自动重连封装 前端代码封装 import { ref, onUnmounted } from vue;interface WebSocketOptions {url: string;protocols?: string | string[];reconnectTimeout?: number; }class WebSocketService {private ws: WebSocket | null null;private callbacks: { [k…...

【C语言】球球大作战游戏

目录 1. 前期准备 2. 玩家操作 3. 生成地图 4. 敌人移动 5. 吃掉小球 6. 完整代码 1. 前期准备 游戏设定:小球的位置、小球的半径、以及小球的颜色 这里我们可以用一个结构体数组来存放这些要素,以方便初始化小球的信息。 struct Ball {int x;int y;float r;DWORD c…...

人工智能D* Lite 算法-动态障碍物处理、多步预测和启发式函数优化

在智能驾驶领域&#xff0c;D* Lite 算法是一种高效的动态路径规划算法&#xff0c;适用于处理环境变化时的路径重规划问题。以下将为你展示 D* Lite 算法的高级用法&#xff0c;包含动态障碍物处理、多步预测和启发式函数优化等方面的代码实现。 代码实现 import heapq impo…...

MySQL 8版本认证问题

目录 问题&#xff1a; Public Key Retrieval is not allowed原因&#xff1a; mysql 8.0 调整身份认证机制解决方法&#xff08;三种&#xff09; 问题&#xff1a; Public Key Retrieval is not allowed 连接MySQL8数据库的时候&#xff0c;报错内容如下&#xff1a;“Publi…...

Android 开发APP中参数配置与读取总结

以使用MQTT配置的参数 MQTT_BROKER_UR 、MQTT_USER_NAME、 MQTT_PASSWORD为例&#xff0c;说明配置设置和读取应用 项目中使用系统参数&#xff08;如环境变量和gradle.properties文件中的属性&#xff09;在Gradle构建脚本中&#xff0c;以下是一个详细的操作文档资料&…...

Scala 语法入门

Scala语法入门 1. 定义变量2. 定义方法3. 闭包4. 声明字符串5. 声明数组6. 声明集合7. 异常处理 1. 定义变量 &#xff08;变量的类型在变量名之后等号之前声明&#xff09; 不可变变量(val) 类似于 Java 中的 final 变量&#xff0c;即一旦赋值后&#xff0c;其值不能再被改…...

python中的flask框架

Flask 是一个用Python编写的轻量级Web应用框架 基于WSGI和Jinja2模板引擎 被称为“微框架”&#xff0c;其核心功能简单&#xff0c;不捆绑数据库管理、表单验证等功能&#xff0c;而是通过扩展来增加其他功能 Flask提供最基本的功能&#xff0c;不强制使用特定工具或库 通…...

【redis】缓存设计规范

本文是 Redis 键值设计的 14 个核心规范与最佳实践&#xff0c;按重要程度分层说明&#xff1a; 一、通用数据类型选择 这里我们先给出常规的选择路径图。 以下是对每个步骤的分析&#xff1a; 是否需要排序&#xff1f;&#xff1a; zset&#xff08;有序集合&#xff09;用…...

归一化与伪彩:LabVIEW图像处理的区别

在LabVIEW的图像处理领域&#xff0c;归一化&#xff08;Normalization&#xff09;和伪彩&#xff08;Pseudo-coloring&#xff09;是两个不同的概念&#xff0c;虽然它们都涉及图像像素值的调整&#xff0c;但目的和实现方式截然不同。归一化用于调整像素值的范围&#xff0c…...

DeepSeek大模型本地部署实战

1. 下载并安装Ollama 打开浏览器&#xff1a;使用你常用的浏览器&#xff08;如Chrome、Firefox等&#xff09;访问Ollama的官方网站。无需特殊网络环境&#xff0c;直接搜索“Ollama”即可找到。 登录与下载&#xff1a;进入Ollama官网后&#xff0c;点击右上角的“Download…...

deepseek+kimi自动生成ppt

打开deepseek官网&#xff0c;输入详细的需求&#xff0c;让他生成个ppt 接着deepseek开始思考生成了 接着复制生成了的内容 打开kimi粘贴刚才deepseek生成的内容 可以一键生成啦&#xff0c;下载编辑使用吧...

集成SwanLab与HuggingFace TRL:跟踪与优化强化学习实验

文章目录 1. 引入SwanLabCallback2. 传入Trainer3. 完整案例代码4. GUI效果展示 TRL (Transformers Reinforcement Learning&#xff0c;用强化学习训练Transformers模型) 是一个领先的Python库&#xff0c;旨在通过监督微调&#xff08;SFT&#xff09;、近端策略优化&#xf…...

cefsharp131升级132测试(WinForms.NETCore)

一、升级&#xff08;Nuget&#xff09; 版本说明&#xff08;readme&#xff09;:最低.NET Core3.1 (NET5.0) Visual C 2019 Redist 二、试运行、兼容性测试 三、后记说明 支持H264版本推荐版本63,79,84,88,100,111,125&#xff08;支持h264和pdf预览&#xff09; 其他H264版…...

Gitee AI上线:开启免费DeepSeek模型新时代

Gitee Al上线&#xff0c;并宣布开启免费DeepSeek模型的时代&#xff0c;这是一个非常值得关注的消息&#xff0c;因 为它标志着国内在AI领域的一个重要发展。DeepSeek模型是由阿里巴巴达摩院开发的&#xff0c;旨 在提供强大的自然语言处理(NLP)能力。下面是一些关于这一事件…...

nginx常用命令及补充

在Linux环境下nginx常用命令如下&#xff1a; 1、查看nginx版本号命令 nginx -v 2、查找nginx配置文件路径已经检查配置文件是否正确 nginx -t 3、查找nginx安装目录 which nginx 4、查看nginx进程 ps -ef|grep nginx 5、进入到nginx的sbin目录后&#xff0c;执行一下…...

自动驾驶---聊聊传统规控和端到端

1 背景 在自动驾驶领域中&#xff0c;端到端模型的兴起确实对传统的规划控制方法&#xff08;笔者并不同意网上以Rule-Base称呼传统规控&#xff0c;传统的规控其实也使用了很多优化算法和博弈算法&#xff09;产生了挑战&#xff0c;但这就意味着传统规控方法就完全没有应用了…...

node.js + html + Sealos容器云 搭建简易多人实时聊天室demo 带源码

node.js html Sealos容器云 搭建简易多人实时聊天室demo 带源码 前言功能介绍&#xff08;demo演示&#xff09;sealos官网配置node.js 编写服务端代码前端ui 调用接口整体项目目录部署到服务器 前言 hello哦盆友们&#xff0c;这次我们来十几行代码做一个超简单的多人聊天…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容&#xff1a;参考网站&#xff1a; PID算法控制 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...

Java + Spring Boot + Mybatis 实现批量插入

在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法&#xff1a;使用 MyBatis 的 <foreach> 标签和批处理模式&#xff08;ExecutorType.BATCH&#xff09;。 方法一&#xff1a;使用 XML 的 <foreach> 标签&#xff…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称&#xff1a;Apache Flink REST API 任意文件读取漏洞CVE编号&#xff1a;CVE-2020-17519CVSS评分&#xff1a;7.5影响版本&#xff1a;Apache Flink 1.11.0、1.11.1、1.11.2修复版本&#xff1a;≥ 1.11.3 或 ≥ 1.12.0漏洞类型&#xff1a;路径遍历&#x…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看

文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...