-
存储引擎:1. 查看支持的存储引擎: show engines \G; show variables like ‘have%';2. 查看默认存储引擎: show variables like ‘storage_engine%';3. 修改默认的存储引擎: ① 安装版可以通过向导的方式: ”开始”—> “程序” —> “MySQL” —> “MySQL Server 5.5” —> “MySQL Server Instance Configuration Wizard”,进入图形化实例配置向导的欢迎页面。在图形化实例配置向导中,选择单击”next”按钮,进入”MySQL选择用途类型”,在该页面中如果选择”Multifunctional Database”单选按钮,则默认存储引擎为InnoDB。如果选择”Non-Transaction Database Only”单选按钮,则默认为存储引擎为MyISAM。 ② 安装版或者免装版另一种修改默认引擎的方式: 打开my.ini配置文件,关于[mysqld]组的内容中添加配置 default-storage-engine=INNODB数据类型:数据库管理系统提供了 整数类型、浮点数类型和定点数类型和位类型、日期和时间类型、字符串类型。1、整数类型:tinyint(1字节) smallint(2字节) mediumint(3字节) int和integer(4字节) bigint(8字节)如果无法区分各个整数的表示范围,可以通过查看mysql的系统帮助查看相关信息。 mysql> help contents; mysql> help Data Types; mysql> help int;2、浮点数类型、定点数类型、位类型: 浮点数类型:float(4字节) double(8字节) 如果需要精确到小数点后十位以上,就需要选择double 定点数类型:dec(M,D)(M+2字节) decimal(M,D)(M+2字节) 要求小数精确度非常高时选择,通常表示金额等优先选择decimal 位类型:bit(1-8字节)说明:decimal(18,4)总长18位,包括1位小数点和4位小数,也就是说18-1-4=13整数位只有13位 M:总长度 D:小数的位数 3、日期和时间类型: data(4字节) datatime(8字节) timestamp(4字节) time(3字节) year(1字节)每种日期和时间数据类型都有一个取值范围,如果插入的值超过了该类型的取值范围,则会插入默认值。 如果要表示年月日,一般会使用date 如果要表示年月日时分秒,一般会使用datetime 如果需要经常插入或者更新日期为当前系统时间,一般会使用timestamp类型 如果要表示时分秒,一般会使用time 如果要表示年份,一般会使用year,因为该类型比date占用更少的空间 4、字符串类型: char系列字符串: char(M) M字节 M为0—255之间的整数 varchar(M) M字节 M为0-65535之间的整数 长度是可变的备注:UTF-8:一个汉字 = 3个字节,英文是一个字节;GBK: 一个汉字 = 2个字节,英文是一个字节 text系列字符串类型: tinytext (0-255字节) text(0-65535字节) mediumtext(0-167772150字节) longtext(0-4294967295字节) binary系列字符串类型: binary(M) M为字节 允许长度为0-M varbinary(M) M为字节 允许长度为0-M 备注:这两个和前面的char 和 varchar类型,区别是char这组存储字符数据,binary可以存储二进制数据(图片、音乐、视频)blob系列字符串类型: tinyblob 0-255字节 blob 0-2的16次方 mediumblob 0-2的24次方 longblob 0-2的32次方备注:这组和text类型,区别是这组可以存储二进制数据(图片、音乐、视频),text的一组只能存储字符数据
-
docker imagesdocker run --name some-mysql -e MYSQL_ROOT_PASSWORD=password -d mysqldocker run --name mysql01 -e MYSQL_ROOT_PASSWORD=root -p 3307:3306 -d mysql:5.7docker execdocker logs iiddocker exec -it id /bin/bashdocker run -d -p 1521:1521 -v /Users/wangbo/Downloads/oracle_data:/u01/app/oracle/ --name xe sath89/oracle-xe-11gdocker pull docker.io/mysqldocker pull mysql:5.7docker pull sath89/oracle-12cdocker pull sath89/oracle-xe-11g
-
如果原MySQL(5.7)单表数据量很大进行了分表,那么迁移到TaurusDB后,还需要分表吗?怎么理解官方介绍的无需分表?
-
鉴于最近对OpenStack的兴趣和激情,我想要确保我可以做恰当的系统性能评估。我主要开始转向sysbench,是因为它带来一系列丰富的针对不同层面的测试(通过 -test=option 来获知) ,包括有: fileio - 文件 I/O测试 cpu - CPU系能测试 memory - 内存功能速度测试 threads - 线程子系统系能测试 mutex - 互斥性能测试正如你所看到的的,sysbench将让你的心思着重放在你的硬件和基础架构的许多基础组件上,例如你的磁盘子系统,以及你的CPUs和内存。有一个额外的选项,是用来执行对MySQL的模拟压力测试,并且当我在0.5版本中没有看到以上的所提到的可支持测试项时候,我很惊讶,尽管它可以用来显示“联机事务处理 – 联机事务处理测试”。-test=oltp到底怎么回事?? 这个列表来自于sysbench最近的发布版本0.5——如果你仅仅是在这个版本上使用它,使用 Frederic Descamps(感谢lefred!)所提供的 包。如果你用的(系统)是EPEL,Ubuntu 14.04 或者 Debian 7,就可以使用0.4.12版本(检查sysbench的版本 -version)。那么,测试类型OLTP再也不会出现。这个版本做了什么呢?我使劲挠头,直到我询问Percona IRC才知道在0.5版本里的标准OLTP测试类型被替换成了不一样的语法,它使用传递参数到sysbench,替换掉了引用脚本写入lua的方式。它的优点是,现在你有了一个接口,可以写入你特定的负载测试中(提供你了解的lua(接口),用起来也不难)。如果你还想要运行预定义负载测试,它们还是存在的,但是你必须把它们作为RPM的一部分去安装,或者直接拷贝到你的系统。幸运的是,如果你使用lefred提供的包,你会发现下面这些lua脚本(这里使用了截止至2014年8月4号的Amazon ami): [root@pxc-control ~]# ls -l /usr/share/doc/sysbench/tests/db/ total 44 -rw-r--r-- 1 root root 3585 Sep 7 2012 common.lua -rw-r--r-- 1 root root 340 Sep 7 2012 delete.lua -rw-r--r-- 1 root root 830 Sep 7 2012 insert.lua -rw-r--r-- 1 root root 2925 Sep 7 2012 oltp.lua -rw-r--r-- 1 root root 342 Sep 7 2012 oltp_simple.lua -rw-r--r-- 1 root root 425 Sep 7 2012 parallel_prepare.lua -rw-r--r-- 1 root root 343 Sep 7 2012 select.lua -rw-r--r-- 1 root root 3964 Sep 7 2012 select_random_points.lua -rw-r--r-- 1 root root 4066 Sep 7 2012 select_random_ranges.lua -rw-r--r-- 1 root root 343 Sep 7 2012 update_index.lua -rw-r--r-- 1 root root 552 Sep 7 2012 update_non_index.lua所以诀窍(如果你希望这么叫它)不是通过单一词语传递--test指令,而是通过传递一个lua脚本的完整路径。下面首先是旧的方式(sysbench 0.4.12来自EPEL库):--test=oltp --oltp-test-mode=complex下面是新的方式(sysbench 0.5): --test=/usr/share/doc/sysbench/tests/db/insert.lua下面是我在一个3个节点的PXC集群上跑haproxy,做一个仅插入的测试类型,下面是我传递给sysbench的全部命令:[root@pxc-control ~]# cat sys_haproxy.sh #!/bin/bash sysbench --test=/usr/share/doc/sysbench/tests/db/insert.lua --mysql-host=pxc-control --mysql-port=9999 --mysql-user=sysbench-haproxy --mysql-password=sysbench-haproxy --mysql-db=sbtest --mysql-table-type=innodb --oltp-test-mode=complex --oltp-read-only=off --oltp-reconnect=on --oltp-table-size=1000000 --max-requests=100000000 --num-threads=3 --report-interval=1 --report-checkpoints=10 --tx-rate=24 $1下面是insert.lua脚本的内容:[root@pxc-control ~]# cat /usr/share/doc/sysbench/tests/db/insert.lua pathtest = string.match(test, "(.*/)") or "" dofile(pathtest .. "common.lua") function thread_init(thread_id) set_vars() end function event(thread_id) local table_name local i local c_val local k_val local pad_val table_name = "sbtest".. sb_rand_uniform(1, oltp_tables_count) if (oltp_auto_inc) then i = 0 else i = sb_rand_uniq(1, oltp_table_size) end k_val = sb_rand(1, oltp_table_size) c_val = sb_rand_str([[ ###########-###########-###########-###########-###########-###########-###########-###########-###########-###########]]) pad_val = sb_rand_str([[ ###########-###########-###########-###########-###########]]) rs = db_query("INSERT INTO " .. table_name .. " (id, k, c, pad) VALUES " .. string.format("(%d, %d, '%s', '%s')",i, k_val, c_val, pad_val)) end我比较喜欢sysbench 0.5的一个地方(超过lua 接口,肯定的!)是它现在带来一个配置项 –report-interval option(我通常都是设置为 =1),以便在脚本运行时你可以定时看到输出信息。不要等到运行结束是再得到反馈!这里有个用sysbench 0.5的测试样例,通过本地hapoxy实例运行插入数据动作以及向在同一个PXC(Percona XtrDB Cluster)集群上的三个节点写数据动作,例如OpenStack Trove会做: [root@pxc-control ~]# ./sys_haproxy.sh run sysbench 0.5: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 3 Report intermediate results every 1 second(s) Random number generator seed is 0 and will be ignored Threads started! [ 1s] threads: 3, tps: 0.00, reads/s: 0.00, writes/s: 1099.28, response time: 9.86ms (95%) [ 2s] threads: 3, tps: 0.00, reads/s: 0.00, writes/s: 973.02, response time: 10.77ms (95%) [ 3s] threads: 3, tps: 0.00, reads/s: 0.00, writes/s: 1181.01, response time: 6.23ms (95%) [ 4s] threads: 3, tps: 0.00, reads/s: 0.00, writes/s: 1103.00, response time: 6.77ms (95%)
-
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------1)我们还使用的是5年前发布的MySQL 5.6.17 (2014-03-27, General Availability),建议升级到目前最新的MySQL 5.6.43 (2019-01-21, General Availability),增强功能,避免众多bug的影响。
-
请问ecs ubuntu18.04 arm64可以安装MySQL8.0版本吗?APT安装更新一直失败
-
如何从DWS数据库创建实时任务迁移数据至RDS for MySQL
-
实例: <?php $conn1 = mysql_connect("127.0.0.1", "root","root","db1"); mysql_select_db("db1", $conn1); $conn2 = mysql_connect("127.0.0.1", "root","root","db2"); mysql_select_db("db2", $conn2); $sql = "select * from ip"; $query = mysql_query($sql); if($row = mysql_fetch_array($query)) echo $row[0]."\n"; $sql = "select * from web "; $query = mysql_query($sql); if($row = mysql_fetch_array($query)) echo $row[0]; ?> 这段代码存在问题,在程序执行时会报错:PHP Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in ....原因分析:程序开始建立两个数据库链接,函数mysql_query()原型:resource mysql_query ( string $query [, resource $link_identifier ] )向与指定的连接标识符关联的服务器中的当前活动数据库发送一条查询。如果没有指定 link_identifier,则使用上一个打开的连接。如果没有打开的连接,本函数会尝试无参数调用 mysql_connect() 函数来建立一个连接并使用之。查询结果会被缓存。在本例中由于没有指定link_identifier,所以,在执行第一条sql时,默认使用的是上一个打开的链接,即$conn2,而实际上第一条sql语句应该使用的是$conn1,所以导致报错,所以为了能够链接多个mysql数据库,可以使用如下方法:方法1:在mysql_query函数中指定所用连接,即: <?php $conn1 = mysql_connect("127.0.0.1", "root","root","db1"); mysql_select_db("Muma", $conn1); $conn2 = mysql_connect("127.0.0.1", "root","root","db2"); mysql_select_db("product", $conn2); $sql = "select * from ip"; $query = mysql_query($sql,$conn1); //添加连接$conn1 if($row = mysql_fetch_array($query)) echo $row[0]."\n"; $sql = "select * from web "; $query = mysql_query($sql, $conn2); if($row = mysql_fetch_array($query)) echo $row[0]; ?> 方法2:在sql语句中关联所用数据库,此时可以省略mysql_query的第二个参数,即: <?php $conn1 = mysql_connect("127.0.0.1", "root","root","db1"); mysql_select_db("db1", $conn1); $conn2 = mysql_connect("127.0.0.1", "root","root","db2"); mysql_select_db("db2", $conn2); $sql = "select * from db1.ip"; //关联数据库 $query = mysql_query($sql); if($row = mysql_fetch_array($query)) echo $row[0]."\n"; $sql = "select * from db2.web "; $query = mysql_query($sql); if($row = mysql_fetch_array($query)) echo $row[0]; ?>
-
业务场景与问题描述请求一个外部接口时,每天的请求量在900万左右。分为请求项目和回执这两个项目。请求是用来调用外部接口,回执是接收发送的接口。在发送请求前会先插入数据库。在请求后,如果接口返回调用失败,会更新数据库状态为失败。如果发送成功,则会等待上游给出回执消息后,然后更新数据库状态。而在生产运行过程中,半年出现过两次mysql导致的mq消费者堆积的问题。问题分析记录两次不同的原因导致的生产问题及原因分析。mysql死锁问题查看mq聚合平台TPS上生产发现mq数据一直堆积,且不断上升。而TPS仅为30左右,一直上不去。这就会使mq消费变慢了,导致不断堆积。具体什么原因导致mq一直堆积,需要继续排查。查看生产服务器日志查看生产服务器日志,发现有报错dead Lock的错误。error response from MySQLConnection [node=24, id=277499, threadId=2735941, state=borrowed, closed=false, autocommit=true, host=10.1.10.74, port=3306, database=sep_4, localPort=27744, isClose:false, toBeClose:false, MySQLVersion:5.7.25], err: Deadlock found when trying to get lock; try restarting transaction, code: 1213具体的sql如下:update stage set status = 'success',reply_time = '2021-03-07 10:40:11' where code = '000123' and create_time > '2021-03-03 00:00:00';也就是说在执行服务时出现了死锁的情况。具体有多少条以及耗时,在生产服务器看着不直观,于是就让dba将慢sql的语句和耗时查出来。查出后发现最长的慢sql的耗时长达7780ms。仔细查看会发现,sql会发现相同的id一个在执行中,一个在Lock Wait状态。而这慢sql中有大量的Lock Wait状态。什么原因导致的死锁mysql使用的数据库引擎时InnoDB。先了解下什么是死锁:所谓死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等竺的进程称为死锁进程.通过上面的排查可以看出,出现死锁的问题就是:在执行sql更新一条数据时,会将这一行数据锁定,执行完成后会释放行锁,而没有执行的sql处于Lock Wait状态。而程序中导致此原因在于,在发送前后和回执时,频繁操作数据库,可能会出现同时操作同一条数据的情况。所以在执行中就出现了锁等待的情况。分库分表未带分片键首先告警的是stage_prod库的CPU飙到了85%。数据库线程数是否被打满经过查看数据库连接情况可知,数据库连接数并没有被占满。查出慢sql和耗时查出的问题sql:查看sql会发现,这条sql竟然没有带分片键code字段。而这条sql是回执时执行的。排查生产服务器日志代码中有做判断,如果code值不为空,sql会带上code的值。那么没带上,就需要查看为何没有带上。查看代码会发现,code是从redis中获取的,是在发送时set到redis中的。但是没有set进去就很奇怪了。初步怀疑是redis问题,然后就与redis维护的平台沟通,发现果真是因为redis故障导致的问题。为什么不带分片键CPU就会飙升首先公司用的是hotdb分库分表,因为每天的入库量是在900万左右,一个表是上亿条数据。如果只是单纯用索引,是无法满足要求的。分库分表hotdb,根据code值做hash分片,做了64个分片。也就是说64个数据库,分布在8台服务器上的16个实例里面。这样可以避免各分片数据不均,理论上避免了过度集中在某个分片上。而如果不带分片键code的sql,所有的dml操作全部下发到所有的底层库上进行执行,相当于遍历了一遍库。这样就可能会导致CPU直接飙到99%,甚至直接导致服务器直接崩掉,这样操作是很可怕的。解决办法急处理:先停掉几台服务减少数据库操作数据持续堆积,会影响数据处理速度。那么,就要先降低操作的速度,最快速的办法就是停服务,减少数据库的操作频率。减少数据库操作避免数据库死锁死锁一般时由于程序上没有控制好dml操作的提交,没有及时提交.减少重复操作同一条数据。在批量操作时减少每批dml数,保证快速提交,避免长事务,避免重复提交dml。那么怎样减少操作呢?合并sql将发送前插入和发送失败时更新,直接合并到一条sql,这样就可以避免多次操作同一条数据的情况。批量执行时减少长事务和条数执行时发现,每次批量执行20条sql,比一次性执行200条的效率更快。所以尽可能避免这种问题。每条sql必须带分库分表分片键原则就是不能因为一条数据就拖累整个数据库的操作速度。分片键必须带上,如果不带分片键,就抛错。增加时间区间开闭区间用code来做分片键,用createTime做分区。那么在保证code存在的情况下,可以写上开闭区间,可以提高执行效率。更优解:sql顺序执行这种方案可以通过把将要执行的sql统一发到一个mq来消费执行,这样可以保证sql顺序执行,从而避免死锁的产生。但是这个需要根据业务场景来区分。复盘mysql死锁问题,要尽可能避免频繁操作同一条数据,也要避免长事务;针对分库分表问题,一定要带上分片键
-
MySQL这个什么小版本升级一般是多久时间的,我这个6点钟时手贱点了下升级,到现在已经在升级了2个小时了,还算正常吗???
-
发现在执行插入语句后,自增的时间不是我当前时间,打开参数设置才发现购买后的默认时区不是中国时区,需要手动修改下修改为上海后,时间就和我当前的时间对应上了,大功告成,又可以愉快写bug了,哈哈哈
-
一、基数是啥?Cardinality指的就是MySQL表中某一列的不同值的数量。如果这一类是唯一索引,那基数 = 行数。如果这一列是sex,枚举类型只有男女,那它是基数就是2Cardinality越高,列就越有成为索引的价值。MySQL执行计划也会基于Cardinality选择索引。通过下面的方式可以看到表中各列的基数。比如这个经典的例子:有一列为sex,那对于sex列中存储的值来说 非男即女,它的基数最大就是2。那也就完全没有必要为sex建立索引。因为,为了提升你基于sex的查询速度,MySQL会为你选择的这个新索引创建一棵全新的B+Tree。但你sex只有两种值,对于MySQL来说,即使它为你指定的列建立了B+Tree索引,真正执行查询时,最多进行一次二分查询,剩下的操作只能是遍历,所以为sex创建索引意义不大。二、InnoDB更新基数的时机?参数:innodb_stats_auto_recalc控制MySQL是否主动重新计算这些持久性的信息。默认为1表示true,0表示false。默认情况下当表中的行变化超过10%时,重新计算基数信息。三、基数是估算出来基数并不会实时更新!而且它是通过采样估算出来的值!至于基数的公式是怎样的,可能并不重要。重要的是你得知道,他是通过随机采样数据页的方式统计出来的一个估算值。而且随机采样的页数可以通过参数innodb_stats_persistent_sample_pages 设置,默认值是20。四、持久化基数可以通过参数innodb_stats_persistent 控制是否持久化基数,默认为off。当然你可以为一个单独的表设置 STATS_PERSISTENT=1 那么它的 innodb_stats_persistent将自动被启用。开启它的好处是:重启MySQL不会再重复计算这个值,加快重启速度。五、如何主动更新基数?执行下面的SQL时都会触发InnoDB更新基数(即使你并没有意识到它会更新基数)。所以尽量选择一个业务低峰期analyze table tableName;如果因为采样的数量太少了,计算的基数错的离谱。那很可能会导致MySQL的优化器选错索引。这是你可以将这个值适当调大。但是增加 太多可能会导致 ANALYZE TABLE运行缓慢。反之, ANALYZE TABLE运行太慢。你可以适度调整参数innodb_stats_persistent_sample_pages 的值。但是这又可能导致基数计算的不准确。
-
mysql replace实例说明:UPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def');REPLACE(str,from_str,to_str)在字符串 str 中所有出现的字符串 from_str 均被 to_str替换,然后返回这个字符串这个函数用来批量替换数据中的非法关键字是很有用的!如下例子:例1:UPDATE BBSTopic SET tcontents = replace(replace(tcontents,'die','') ,'找死','') where tcontents like '%die%' or tcontents like '%找死%'例2:UPDATE typetable SET type_description=REPLACE(type_description,'360','//www.jb51.net');mysql replace用法1.replace intoreplace into table (id,name) values('1','aa'),('2','bb')此语句的作用是向表table中插入两条记录。如果主键id为1或2不存在就相当于insert into table (id,name) values('1','aa'),('2','bb')如果存在相同的值则不会插入数据2.replace(object,search,replace)把object中出现search的全部替换为replaceselect replace('www.jb51.net','w','Ww')--->WwWwWw.jb51.net例:把表table中的name字段中的aa替换为bbupdate table set name=replace(name,'aa','bb')MySQL replace函数我们经常用到,下面就为您详细介绍MySQL replace函数的用法,希望对您学习MySQL replace函数方面能有所启迪。最近在研究CMS,在数据转换的时候需要用到mysql的MySQL replace函数,这里简单介绍一下。比如你要将表 tb1里面的 f1字段的abc替换为defUPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def'); REPLACE(str,from_str,to_str)在字符串 str 中所有出现的字符串 from_str 均被 to_str替换,然后返回这个字符串:mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww');-> 'WwWwWw.mysql.com'这个函数是多字节安全的。示例:UPDATE `dede_addonarticle` SET body = REPLACE ( body,'</td>','' );UPDATE `dede_addonarticle` SET body = REPLACE ( body,'</tr>','' );UPDATE `dede_addonarticle` SET body = REPLACE ( body,'<tr>','' );UPDATE `dede_archives` SET title= REPLACE ( title,'大洋新闻 - ','' );UPDATE `dede_addonarticle` SET body = REPLACE ( body,'../../../../../../','http://special.dayoo.com/meal/' );mysql replace用法1.replace intoreplace into table (id,name) values(‘1‘,‘aa‘),(‘2‘,‘bb‘)此语句的作用是向表table中插入两条记录。2.replace(object, search,replace)把object中出现search的全部替换为replaceselect replace(‘www.jb51.net‘,‘w‘,‘Ww‘)--->WwW wWw.jb51.net例:把表table中的name字段中的 aa替换为bbupdate table set name=replace(name,‘aa‘,‘bb‘)补充SELECT * FROM `goods_table` WHERE Context like "%Welcome%Store%" ORDER BY `goods_table`.`GoodsId` DESCupdate goods_table set Context = replace(Context, 'Welcome to Yahoo Store !', 'Welcome to Our Store !');
-
1. 问题现象Hive外置元数据库MySQL,创建表包含中文字段名,报错Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Add request failed : INSERT INTO "COLUMNS_V2" ("CD_ID","COMMENT","COLUMN_NAME","TYPE_NAME","INTEGER_IDX") VALUES (?,?,?,?,?) ) (state=08S01,code=1)。2. 问题定位查看MySQL中columns_v2表字符集,发现是latin1。3. 解决方案在MySQL中执行命令:alter table columns_v2 convert to character set utf8;。
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签