最新要闻
- 打造“北运湾” 擦亮文旅融合“新名片”——北仓镇以项目建设引领为乡村振兴添动力
- 成绩垫底,男篮输球罪人被揪出,脾气大要钱多,乔帅表情无奈
- 闽港共商南音文化传承
- 安徽省直政法单位学用结合确保主题教育走深走实见行见效
- 绿地控股集团所持1.5亿元股权被冻结
- 浩浩乎如冯虚御风 而不知其所止 浩浩乎如冯虚御风而不知其所止是哪首文言文上的
- 奥特曼:黑粉最多的奥特曼,托雷基亚排名垫底,迪迦仅排第三
- 男人阳气不足的表现及改善方法(男人 阳痿)
- 未出席韦德名人堂典礼,詹姆斯被骂上热搜,香蕉船兄弟仅少他一人
- Mark Gurman表示苹果正在准备对AppleWatch进行重大的重新设计
- 美女新难题:如何自证不是AI
- 一夜解禁所有限制!硅谷夺回全球无人车中心:7X24小时不限区域
- 一箭五星!我国快舟一号甲火箭成功发射和德三号A-E星
- 丰田怎么打!比亚迪方程豹首车豹5官图发布:硬派越野要变天
- 淅川农商银行:调查研究破难题 服务经济再发力
- “部队来支援咱们这里了” 通信兵翻山越岭架起“生命线”
广告
手机
![港媒:张学友马来西亚演唱会在台上突然跌倒,自称从小耳水不平衡](http://adminimg.szweitang.cn/2022/0923/20220923095118643.jpg)
港媒:张学友马来西亚演唱会在台上突然跌倒,自称从小耳水不平衡
![或11月上市,红旗E001内饰官图发布!](http://www.lygmedia.com/uploadfile/2022/0923/20220923103939213.jpg)
或11月上市,红旗E001内饰官图发布!
- 港媒:张学友马来西亚演唱会在台上突然跌倒,自称从小耳水不平衡
- 或11月上市,红旗E001内饰官图发布!
- 盛德鑫泰:目前不锈钢产品订单饱满,合金钢产品价格较去年有所上涨
- 特斯拉modely和modelx尺寸区别? 特斯拉y和x尺寸对比是什么
- 中证2000ETF产品“在路上” 公募机构掘金“小而美”
- 概念火认购却不火!ESG理财如何打破僵局?
家电
数仓中典型的几种不下推语句整改案例
本文分享自华为云社区《GaussDB(DWS)性能调优:典型不下推语句整改案例》,作者: 譡里个檔 。
(相关资料图)
场景1:With-Recursive contains only values rte is not shippable
根因:递归语句的某个分支中没有FROM字句(只有 VALUES 或者类似 SELECT 1 这样的语句)
案例1:递归驱动分支没有FROM字句
原始语句
SELECT T.RPT_ITEM_ID, --报表项IDT.RPT_ITEM_CODE,T.USER_GROUP_CODE AS USER_GROUP_CODE --用户组FROM BIF.BIF_RPT_ITEM_DEF_T T,(WITH recursive cte AS (SELECT DISTINCT TRIM(SUBSTR("" :: text, INSTR("", ",", 1, 1) + 1, INSTR("", ",", 1, 2) - INSTR("", ",", 1, 1) - 1)) AS cte_RPT_ITEM_CODE,1 AS levelFROM (SELECT "") AS tb0UNION ALLSELECT DISTINCT TRIM(SUBSTR("" :: text, INSTR("", ",", 1, cte.level + 1) + 1, INSTR("", ",", 1, cte.level + 2) - INSTR("", ",", 1, cte.level + 1) - 1)),cte.level + 1FROM (SELECT "") AS tb0, cteWHERE cte.level + 1 <= LENGTH("") - LENGTH(REPLACE("", ",", "")) - 1)SELECTDISTINCT cte_RPT_ITEM_CODE AS RPT_ITEM_CODEFROM cte) T5WHERE NVL(INSTR(T.RPT_ITEM_FREQUENCE, "M"), 0) > 0AND T.RPT_ITEM_CODE = NVL(T5.RPT_ITEM_CODE, T.RPT_ITEM_CODE)AND T.RPT_ITEM_TYPE = 1 --是否是叶子报表项,1=是,0=否,基本报表项AND T.ENABLE_FLAG = 1AND T.VERSION = "202308" --使用快照,增加条件限制ORDER BY T.RPT_ITEM_ID
改写语句
SELECT T.RPT_ITEM_ID, --报表项IDT.RPT_ITEM_CODE,T.USER_GROUP_CODE AS USER_GROUP_CODE --用户组FROM BIF.BIF_RPT_ITEM_DEF_T T,(WITH recursive cte AS (SELECT DISTINCT TRIM(SUBSTR("" :: text, INSTR("", ",", 1, 1) + 1, INSTR("", ",", 1, 2) - INSTR("", ",", 1, 1) - 1)) AS cte_RPT_ITEM_CODE,1 AS levelFROM (SELECT "") AS tb0UNION ALLSELECT DISTINCT TRIM(SUBSTR("" :: text, INSTR("", ",", 1, cte.level + 1) + 1, INSTR("", ",", 1, cte.level + 2) - INSTR("", ",", 1, cte.level + 1) - 1)),cte.level + 1FROM (SELECT "") AS tb0, cteWHERE cte.level + 1 <= LENGTH("") - LENGTH(REPLACE("", ",", "")) - 1)SELECTDISTINCT cte_RPT_ITEM_CODE AS RPT_ITEM_CODEFROM cte) T5WHERE NVL(INSTR(T.RPT_ITEM_FREQUENCE, "M"), 0) > 0AND T.RPT_ITEM_CODE = NVL(T5.RPT_ITEM_CODE, T.RPT_ITEM_CODE)AND T.RPT_ITEM_TYPE = 1 --是否是叶子报表项,1=是,0=否,基本报表项AND T.ENABLE_FLAG = 1AND T.VERSION = "202308" --使用快照,增加条件限制ORDER BY T.RPT_ITEM_ID
修改点比对
案例2:递归驱动分支没有FROM字句
原始语句
SELECT A.DYNM_COMP_ID,DECODE(B.LINE_NO, 1, "202308", A.VERSION)FROM BIF.BIF_DYNM_COMP_SOU_TBL_V A,(WITH recursive cte AS (SELECT 1 AS levelUNION ALLSELECT cte.level + 1FROM cteWHERE cte.level + 1 < 3)SELECTlevel as LINE_NOFROM cte) BWHERE EXISTS (SELECT 1FROM BIF.BIF_RPT_ITEM_DEF_MV RPT,BIF.BIF_PUB_SUBJECT_AREA_T SBJ,BIF.BIF_SNAPSHORT_SUBJECT_V TYPWHERE A.DYNM_COMP_ID = RPT.DYNM_COMP_IDAND RPT.VERSION = "current"AND RPT.SUBJECT_AREA_ID = SBJ.SUBJECT_AREA_IDAND SBJ.SUBJECT_AREA_CODE =TYP.SUBJECT_CODEAND TYP.SUBJECT_TYPE ="TAX")AND A.VERSION = "current"
改写语句
SELECT A.DYNM_COMP_ID,DECODE(B.LINE_NO, 1, "202308", A.VERSION)FROM BIF.BIF_DYNM_COMP_SOU_TBL_V A,(SELECT*FROM generate_series(1, 2) AS cte(LINE_NO)) BWHERE EXISTS (SELECT 1FROM BIF.BIF_RPT_ITEM_DEF_MV RPT,BIF.BIF_PUB_SUBJECT_AREA_T SBJ,BIF.BIF_SNAPSHORT_SUBJECT_V TYPWHERE A.DYNM_COMP_ID = RPT.DYNM_COMP_IDAND RPT.VERSION = "current"AND RPT.SUBJECT_AREA_ID = SBJ.SUBJECT_AREA_IDAND SBJ.SUBJECT_AREA_CODE =TYP.SUBJECT_CODEAND TYP.SUBJECT_TYPE ="TAX")AND A.VERSION = "current"
修改点比对
案例3:递归驱动分支是VALUES字句
原始语句
WITH RECURSIVE t(n) AS (VALUES (1)UNION ALLSELECTn+1FROM tWHERE n < (SELECT MAX(LENGTH(COMP_CODE)-LENGTH(REPLACE(COMP_CODE,",","")))+1 MAX_TOKENSFROM (SELECT DEPT_CODE,to_char(APPLICABLE_GEO_PC_CODE) COMP_CODEFROM SDIHR.MDM_CDM_DEPT_ACT_INFO_T_3600)))SELECT n AS LVL FROM t
改写语句
WITH RECURSIVE t(n) AS (SELECT * FROM generate_series(1, 1)UNION ALLSELECTn+1FROM tWHERE n < (SELECT MAX(LENGTH(COMP_CODE)-LENGTH(REPLACE(COMP_CODE,",","")))+1 MAX_TOKENSFROM (SELECT DEPT_CODE,to_char(APPLICABLE_GEO_PC_CODE) COMP_CODEFROM SDIHR.MDM_CDM_DEPT_ACT_INFO_T_3600)))SELECT n AS LVL FROM t
修改点比对
案例4:递归驱动分支是VALUES字句
原始语句
WITH RECURSIVE t(n) AS (VALUES (1)UNION ALLSELECTn+1FROM tWHERE n < (SELECT MAX(LENGTH(COMP_CODE)-LENGTH(REPLACE(COMP_CODE,",","")))+1 MAX_TOKENSFROM (SELECT DEPT_CODE,to_char(APPLICABLE_GEO_PC_CODE) COMP_CODEFROM SDIHR.MDM_CDM_DEPT_ACT_INFO_T_3600)))SELECT n AS LVL FROM t
改写语句
SELECT*FROM generate_series(1, (SELECT MAX(LENGTH(COMP_CODE)-LENGTH(REPLACE(COMP_CODE,",","")))+1 MAX_TOKENSFROM (SELECT DEPT_CODE,to_char(APPLICABLE_GEO_PC_CODE) COMP_CODEFROM SDIHR.MDM_CDM_DEPT_ACT_INFO_T_3600))) AS t(lvl)
修改点比对
场景2:With-Recursive contains system table is not shippable
根因:递归语句的某个分支中没有FROM字句中只用系统表或者系统视图(DUAL也被视为系统视图)
案例1:递归驱动分支是FROM DUAL查询
原始语句
WITH recursive cte AS (SELECTTO_DATE(201701, "YYYYMM") as level ,TO_DATE(20170131, "YYYYMMDD") LASTDAYFROM dualUNION ALLSELECTADD_MONTHS(cte.LEVEL, 1) AS PERIOD,LAST_DAY(ADD_MONTHS(cte.LEVEL, 1)) AS LASTDAYFROM cte WHERE cte.LEVEL <=SYSDATE)SELECTTO_CHAR(cte.level,"YYYYMMDD") AS PERIOD , cte.LASTDAYFROM cteWHERE TO_CHAR(cte.level,"YYYYMMDD")<= TO_CHAR(SYSDATE,"YYYYMMDD")
改写语句
WITH recursive cte AS (SELECTTO_DATE(201701, "YYYYMM") as level ,TO_DATE(20170131, "YYYYMMDD") LASTDAYFROM dualUNION ALLSELECTADD_MONTHS(cte.LEVEL, 1) AS PERIOD,LAST_DAY(ADD_MONTHS(cte.LEVEL, 1)) AS LASTDAYFROM cte WHERE cte.LEVEL <=SYSDATE)SELECTTO_CHAR(cte.level,"YYYYMMDD") AS PERIOD , cte.LASTDAYFROM cteWHERE TO_CHAR(cte.level,"YYYYMMDD")<= TO_CHAR(SYSDATE,"YYYYMMDD")
修改点对比
场景3:SubPlan exec on CN can"t be shipped
根因:某个子查询语句只能在CN上执行,通常是这个子查询有不下推因素,比如有系统表、系统视图调用,或者存在不下推函数等
案例1:子查询中系统表/系统视图查询
原始语句
WITH error_log AS NOT MATERIALIZED (SELECTupper(log_column_name) AS log_column_name,log_error_code,s.char_length AS data_length,s.data_type,s.nullableFROM (SELECTdistinctunnest(string_to_array(bad_log_column_name,",")) AS log_column_name,unnest(string_to_array(bad_log_error_code,",")) AS log_error_codeFROM stgltc.BAD_cfs_inv_invoice_ad_2500) T,(SELECT * FROM user_tab_columns WHERE table_name=lower("dlt_cfs_inv_invoice_ad_2500")) SWHERE upper(T.log_column_name)=upper(S.column_name))SELECTCASE WHEN upper("ACTIVITY_NAME") IN (SELECT log_column_name FROM error_log WHERE data_type IN ("varchar","char","character","nchar","character varying","varchar2","nvarchar2","clob","text") AND log_error_code="22001"/*字符超长*/)THEN SUBSTRB(ACTIVITY_NAME,0,(SELECT distinct DATA_LENGTH FROM error_log WHERE upper(log_column_name)=upper("ACTIVITY_NAME")))ELSE ACTIVITY_NAMEEND AS ACTIVITY_NAME,CASE WHEN upper("ADJUSTMENT_ID") IN (SELECT log_column_name FROM error_log WHERE data_type IN ("varchar","char","character","nchar","character varying","varchar2","nvarchar2","clob","text") AND log_error_code="22001"/*字符超长*/)THEN SUBSTRB(ADJUSTMENT_ID,0,(SELECT distinct DATA_LENGTH FROM error_log WHERE upper(log_column_name)=upper("ADJUSTMENT_ID")))ELSE ADJUSTMENT_IDEND AS ADJUSTMENT_IDFROM stgltc.BAD_cfs_inv_invoice_ad_2500
改写语句
-- 识别不下推的子查询为WITH error_log字句中的-- SELECT * FROM user_tab_columns WHERE table_name=lower("dlt_cfs_inv_invoice_ad_2500")---- 因为这部分为系统表查询,无论如何都不能下推,所以此处把这部分结果转储到一个中间表中-- 中间表创建成行存表CREATE TEMP TABLE s WITH(orientation=row) DISTRIBUTE BY ROUNDROBIN ASSELECT * FROM user_tab_columns WHERE table_name=lower("dlt_cfs_inv_invoice_ad_2500")-- 因为整个查询涉及到的表都是列存表,之后前面创建的临时表s为行存表-- 所以此处加一个强制走向量化的hintWITH error_log AS NOT MATERIALIZED (SELECTupper(log_column_name) AS log_column_name,log_error_code,s.char_length AS data_length,s.data_type,s.nullableFROM (SELECTdistinctunnest(string_to_array(bad_log_column_name,",")) AS log_column_name,unnest(string_to_array(bad_log_error_code,",")) AS log_error_codeFROM stgltc.bad_cfs_inv_invoice_ad_2500) T,pg_temp.SWHERE upper(T.log_column_name)=upper(S.column_name))SELECT /*+ set global(enable_force_vector_engine on)*/CASE WHEN upper("ACTIVITY_NAME") IN (SELECT log_column_name FROM error_log WHERE data_type IN ("varchar","char","character","nchar","character varying","varchar2","nvarchar2","clob","text") AND log_error_code="22001"/*字符超长*/)THEN SUBSTRB(ACTIVITY_NAME,0,(SELECT distinct DATA_LENGTH FROM error_log WHERE upper(log_column_name)=upper("ACTIVITY_NAME")))ELSE ACTIVITY_NAMEEND AS ACTIVITY_NAME,CASE WHEN upper("ADJUSTMENT_ID") IN (SELECT log_column_name FROM error_log WHERE data_type IN ("varchar","char","character","nchar","character varying","varchar2","nvarchar2","clob","text") AND log_error_code="22001"/*字符超长*/)THEN SUBSTRB(ADJUSTMENT_ID,0,(SELECT distinct DATA_LENGTH FROM error_log WHERE upper(log_column_name)=upper("ADJUSTMENT_ID")))ELSE ADJUSTMENT_IDEND AS ADJUSTMENT_IDFROM stgltc.bad_cfs_inv_invoice_ad_2500
修改点对比
场景4:Type of Record in TargetList can not be shipped
根因:输出列中存在record类型,这种类型的不下推一般是不会体现在最外层的输出列上,一般这类报错有两个场景
1.SQL书写逻辑错误,导致输出列上出现了(...)形式的输出列
2.SQL业务逻辑正确, 这种场景需要了解业务含义,把record字段强转为text类型,然后再使用record字段的地方做特殊适配
案例1:输出列书写错误,出现(...)形式的输出列
原始语句
SELECTd.id,coalesce(d.period, "snull") AS period,(d.plan_unit_code, "snull") AS plan_unit_code,coalesce(d.product_type_model, "snull") AS product_type_model,coalesce(d.revision, "snull") AS revision,d.start_dateFROM (SELECT *FROM cdcscm.cdc_mp_d_forecast_t_6120 tWHERE t.cdc_timestamp > to_date("2023-07-06 00:00:00", "yyyy-mm-dd hh24:mi:ss") - 7AND t.cdc_timestamp < to_date("2023-08-08 00:00:00", "yyyy-mm-dd hh24:mi:ss")) t1,sdiscm.mp_d_forecast_t_6120 dWHERE (t1.audit_op_type = "delete" AND t1.audit_op_option = "before")AND d.id = t1.id
改写语句
SELECTd.id,coalesce(d.period, "snull") AS period,coalesce(d.plan_unit_code, "snull") AS plan_unit_code,coalesce(d.product_type_model, "snull") AS product_type_model,coalesce(d.revision, "snull") AS revision,d.start_dateFROM (SELECT *FROM cdcscm.cdc_mp_d_forecast_t_6120 tWHERE t.cdc_timestamp > to_date("2023-07-06 00:00:00", "yyyy-mm-dd hh24:mi:ss") - 7AND t.cdc_timestamp < to_date("2023-08-08 00:00:00", "yyyy-mm-dd hh24:mi:ss")) t1,sdiscm.mp_d_forecast_t_6120 dWHERE (t1.audit_op_type = "delete" AND t1.audit_op_option = "before")AND d.id = t1.id
修改点对比
备注:改写前后语句不等价,不等价的原因是因为原始SQL书写有问题,正确的写法是就是coalesce(d.plan_unit_code, "snull") AS plan_unit_code。
点击关注,第一时间了解华为云新鲜技术~
关键词:
-
-
-
-
数仓中典型的几种不下推语句整改案例
Linux 之 shell 编程
企微0day小猜想
警惕中招!!yakit爆任意文件读取漏洞
丰台这个村的改造问题有答复了!这个区域没有单独拆迁计划
河北电信扣套餐双倍费用,官方:系统升级导致余额显示异常,正在处理
8月14日河北中昌化肥硫酸铵价格动态
缅甸旅游业遇冷游客人数暴跌,原因不言而喻
江西一省直单位主要负责同志调整
港股午评:恒生指数跌2.41%,恒生科技指数跌3.09%
第十一届茅盾文学奖揭晓
打造“北运湾” 擦亮文旅融合“新名片”——北仓镇以项目建设引领为乡村振兴添动力
度咔剪辑怎么拍横版视频 度咔剪辑拍横版视频教程
借力电影《孤注一掷》,宝山民警联合影院开展反诈宣传
港媒:张学友马来西亚演唱会在台上突然跌倒,自称从小耳水不平衡
旅游管理专业排名靠什么?
昔日尾矿库 今成绿茵场(美丽中国)
饮料、方便面、西瓜频繁丢失,民警查获5名涉盗窃人员
研究发现:智力超常儿童遇好奇事物瞳孔直径会变大
特斯拉再度扛起降价大旗,表明新产品应该很快到来
盛德鑫泰:目前不锈钢产品订单饱满,合金钢产品价格较去年有所上涨
中国电信客服就“双倍扣费”致歉:系统升级致河北部分用户余额显示异常,正紧急处理
8月14日 10:22分 杭华股份(688571)股价快速拉升
徐家汇:8月11日融资买入880.41万元,融资融券余额1.2亿元
(社会)吉林省发布地质灾害气象风险黄色预警
最高降价6万元!10个品牌已官宣,又一波降价潮来袭?
宏观经济/降低A股加仓门槛 活跃资本市场\独立财经评论员 郭施亮
不是周琦!不是赵睿!乔帅揪出中国男篮最差之人,姚明或清理离队
成绩垫底,男篮输球罪人被揪出,脾气大要钱多,乔帅表情无奈
蒙商消费金融副总经理金石任职资格获批
动漫制作培训机构排名如何评定?
吞食孔明传姜维梦境怎么过 吞食天地孔明传姜维怎么打
上半场低迷逆袭:李凯尔决心点燃进攻,带领中国男篮反击!
金融基础设施以高质量信息披露体系推动转型债券市场发展——专访中央结算公司深圳分公司绿色金融创新中心副总经理商瑾
【财经分析】预制菜产业“乘风破浪” 亟待建立标准体系提升品牌
男子要女孩微信被拒后对其爸爸动手?警方通报:视频系编造
心灵魔方(关于心灵魔方的基本详情介绍)
姆总暂时留队!大巴黎确认姆巴佩留队,大巴黎能否续约?
耳朵前皮下有个小软包(乐观的清风拂柳:男子因郑州疫情被困黄河滩22天)
国产体育题材影片不断拓展创新
多管齐下破解民企首贷难 结构性政策工具助力科创企业
桃江:群众捐资投劳提质改造马龙公路
涿州市供销社全力保障市场供应
闽港共商南音文化传承
两岸交流促进融合 创业发展共赢未来——合肥海峡两岸青年创业基地经贸合作交流会在上海举行
或11月上市,红旗E001内饰官图发布!
安徽省直政法单位学用结合确保主题教育走深走实见行见效
乔戈里峰27岁挑夫摔下悬崖不幸丧生,巴基斯坦启动调查
绿地控股集团所持1.5亿元股权被冻结
手机“收复失地” 华为是否“已过万重山”
上半年国内家电市场销售额3711亿元,同比增长2.8%
中超联赛:武汉三镇队主场不敌上海申花
南昌东湖区幼升小网上报名填报咨询电话公布
新款三菱帕杰罗运动版的首批图片已发布
BMW i5 电动汽车配备了壮观的 M Performance 套件
布基纳法索是哪个国家有多少人口 布基纳法索是哪个国家
首店“引力”持续增强 上半年深圳新开首店121家
怎么炖白鲢鱼好吃?
浩浩乎如冯虚御风 而不知其所止 浩浩乎如冯虚御风而不知其所止是哪首文言文上的
奥特曼:黑粉最多的奥特曼,托雷基亚排名垫底,迪迦仅排第三
新疆温宿县:全方位打造创业一条街 激发创业就业新动能
又炒作!外媒:印度在印控克什米尔部署米格-29,提到“中巴威胁”
小智一周要闻 |上汽通用将组建本土软件团队;广汽正式推出AI大模型平台
红旗E001内饰官图发布 将在今年内正式上市
《幽浮2》情报获取方法
高低压电器概念股有哪些?8月14日相关股票股价查询
急速“砸盘”更不应过度恐慌
岳阳机场回应停车场禁特斯拉入内 员工的特斯拉也是不可入内的
盛德鑫泰:目前不锈钢产品订单饱满,合金钢产品价格较去年有所上涨
62岁张学友演唱会滑倒爬起继续,前一天曾因耳水不平衡延迟开场,“大家都坐好了,不能让大家又回去”
加速拓店、价格内卷,“零食很忙”加盟商被绑上战车
2023年服贸会展览展示规模约15.5万平方米 招展基本完成
苹果新专利显示Apple Pencil未来的更多可能性
男人阳气不足的表现及改善方法(男人 阳痿)
43岁董璇比基尼大片曝光!教我如何搭出时尚清凉夏日穿搭!
闹大了!曝刀郎歌曲被下架,网友怒而疯狂卸载,酷狗官方回应来了
马斯克和扎克伯格“约架”可能要凉了?马斯克以手术为由推迟对决,扎克伯格吐槽马斯克“不认真”
中小型公募批量制造“量化黑马”
香港房屋局局长:“撤辣”与否要留意多项因素 发展商低价销售属个别策略
提字怎么组词和拼音(提字怎么组词)
天风研究:反弹或将重启!
俄舰对驶往乌克兰港口货船开火警告并登船检查
黄粉虫的销路在哪里(黄粉虫销路)
54个银行账户被冻结!合力泰怎么了?
特斯拉modely和modelx尺寸区别? 特斯拉y和x尺寸对比是什么
未出席韦德名人堂典礼,詹姆斯被骂上热搜,香蕉船兄弟仅少他一人
一天近300家机构调研!A股千亿龙头火了,单季业绩大爆发!
iPhone 15系列预计将于下月上市
Mark Gurman表示苹果正在准备对AppleWatch进行重大的重新设计
创新赋能 共塑美好 | 优诺口腔哎呀兔矫治器发布会正式发布
【高清组图】贵州遵义:红色旅游人气旺
引导页图片(引导页)
手机QQ怎么早起打卡
房地产拐点,真的来了
8月最值得购买的三款手机,内行人强烈推荐,跟着选不吃亏
美女新难题:如何自证不是AI
一夜解禁所有限制!硅谷夺回全球无人车中心:7X24小时不限区域
一箭五星!我国快舟一号甲火箭成功发射和德三号A-E星
丰田怎么打!比亚迪方程豹首车豹5官图发布:硬派越野要变天
中证2000ETF产品“在路上” 公募机构掘金“小而美”