详情页标题前

在PolarDB有的sql里面有自定义存储函数 这种想走列存有什么优化建议吗?-云小二-阿里云

详情页1

PolarDB有的sql里面有自定义存储函数 还有的子查询里面有limit语句的 这种想走列存有什么优化建议吗?自定义函数例如这种SELECT
a.*,
func_create_url_name(a.title) AS url_name
FROM
(
SELECT
con.contentid,
con.catid,
cat.name AS catname,
cat.abbr AS catabbr,
con.modelid,
con.title,
con.subtitle,
con.url AS info_url,
con.tags AS tags,
con.tags AS original_tags,
CASE
WHEN LOWER(LEFT(con.thumb, 4)) = ‘http’ THEN con.thumb
ELSE CONCAT(‘https://xxx/’, con.thumb)
END AS thumb,
con.published,
con.pv
FROM
cmstop_content con
INNER JOIN cmstop_category cat ON cat.catid = con.catid
AND cat.first_parentid = ‘201’
AND FIND_IN_SET(‘204’, cat.parentids)
INNER JOIN (
SELECT
content_tag.contentid
FROM
cmstop_tag tag
INNER JOIN cmstop_content_tag content_tag ON tag.tagid = content_tag.tagid
WHERE
tag.tag = ‘zyp-pd2202071028’
) content_tag ON con.contentid = content_tag.contentid
WHERE
con.status = 6
AND con.modelid IN (1, 3, 4, 10)
ORDER BY
con.published DESC,
con.contentid DESC
LIMIT
1
) a
还有这种子查询有limit的。SELECT
ep.product_id,
p.products_name AS products_name_m,
p.products_url_name,
ep.enterprise_id,
ent.enterprise_name_en AS enterprise_name,
ent.url_name AS enterprise_url_name,
ep.specification,
DATE_FORMAT(ep.price_date, ‘%Y-%m-%d’) AS price_date,
ep.price_unit,
ep.price AS current_price,
(
SELECT
ep2.price
FROM
t_zy_enterprise_price ep2
WHERE
ep2.product_id = ep.product_id
AND ep2.enterprise_id = ep.enterprise_id
AND ep2.price_date < ep.price_date
AND IFNULL(ep2.price_date, ”) != ”
AND IFNULL(ep2.price, ”) != ”
AND IFNULL(ep2.delflag, ”) != ‘1’
ORDER BY
ep2.price_date DESC
LIMIT
1
) AS previous_price,
0 AS subscribe_flag
FROM
t_zy_enterprise_price ep
INNER JOIN t_e_products p ON p.products_id = ep.product_id
AND p.information_flag = ‘1’
AND IFNULL(p.delflag, ‘0’) != ‘1’
INNER JOIN t_zy_enterprise ent ON ent.id = ep.enterprise_id
AND IFNULL(ent.delflag, ‘0’) != ‘1’
INNER JOIN (
SELECT
ep3.product_id,
ep3.enterprise_id,
MAX(ep3.price_date) AS max_price_date
FROM
t_zy_enterprise_price ep3
GROUP BY
ep3.product_id,
ep3.enterprise_id
) pimax ON pimax.product_id = ep.product_id
AND pimax.enterprise_id = ep.enterprise_id
AND pimax.max_price_date = ep.price_date
WHERE
ep.delflag = ‘0’
ORDER BY
subscribe_flag DESC,
ep.price_date DESC,
ep.update_date DESC,
ep.id
LIMIT
5
CREATE DEFINER=young@% FUNCTION func_create_url_name(
p_str varchar(500) charset utf8mb4 collate utf8mb4_general_ci ) RETURNS varchar(500) CHARSET utf8
SQL SECURITY INVOKER
BEGIN
DECLARE urlName VARCHAR(500);

SET urlName = p_str;

SET urlName = REPLACE(urlName,’β’,”);
SET urlName = REPLACE(urlName,’α’,”);
SET urlName = REPLACE(urlName,’ω’,”);
SET urlName = REPLACE(urlName,’~’, ”);
SET urlName = REPLACE(urlName,’!’, ”);
SET urlName = REPLACE(urlName,’!’, ”);
SET urlName = REPLACE(urlName,’#’, ”);
SET urlName = REPLACE(urlName,’$’, ”);
SET urlName = REPLACE(urlName,’¥’, ”);
SET urlName = REPLACE(urlName,’¥’, ”);
SET urlName = REPLACE(urlName,’^’, ”);
SET urlName = REPLACE(urlName,’*’, ”);
SET urlName = REPLACE(urlName,’%’, ”);
SET urlName = REPLACE(urlName,’;’, ”);
SET urlName = REPLACE(urlName,’;’, ”);
SET urlName = REPLACE(urlName,’.’, ”);
SET urlName = REPLACE(urlName,’。’, ”);
SET urlName = REPLACE(urlName,’·’, ”);
SET urlName = REPLACE(urlName,’+’, ”);
SET urlName = REPLACE(urlName,’=’, ”);
SET urlName = REPLACE(urlName,’:’, ”);
SET urlName = REPLACE(urlName,’:’, ”);
SET urlName = REPLACE(urlName,’>’, ”);
SET urlName = REPLACE(urlName,'<', '');
SET urlName = REPLACE(urlName,’》’, ”);
SET urlName = REPLACE(urlName,’《’, ”);
SET urlName = REPLACE(urlName,'[‘, ”);
SET urlName = REPLACE(urlName,’]’, ”);
SET urlName = REPLACE(urlName,’【’, ”);
SET urlName = REPLACE(urlName,’】’, ”);
SET urlName = REPLACE(urlName,'{‘, ”);
SET urlName = REPLACE(urlName,’}’, ”);
SET urlName = REPLACE(urlName,'(‘, ”);
SET urlName = REPLACE(urlName,’)’, ”);
SET urlName = REPLACE(urlName,’(’, ”);
SET urlName = REPLACE(urlName,’)’, ”);
SET urlName = REPLACE(urlName,’、’, ”);
SET urlName = REPLACE(urlName,’|’, ”);
SET urlName = REPLACE(urlName,’™’, ”);
SET urlName = REPLACE(urlName,’®’, ”);
SET urlName = REPLACE(urlName,’©’, ”);
SET urlName = REPLACE(urlName,’?’, ”);
SET urlName = REPLACE(urlName,’?’, ”);
SET urlName = REPLACE(urlName,’\”, ‘ ‘);
SET urlName = REPLACE(urlName,'”‘, ‘ ‘);
SET urlName = REPLACE(urlName,’&’, ‘ ‘);
SET urlName = REPLACE(urlName,’—’, ‘ ‘);
SET urlName = REPLACE(urlName,’/’, ‘ ‘);
SET urlName = REPLACE(urlName,’\’, ‘ ‘);
SET urlName = REPLACE(urlName,’,’, ‘ ‘);
SET urlName = REPLACE(urlName,’,’, ‘ ‘);
SET urlName = REPLACE(urlName,’ ’, ‘ ‘);
SET urlName = REPLACE(urlName,’ ‘, ‘ ‘);
SET urlName = REPLACE(urlName,’ ‘, ‘ ‘);
SET urlName = REPLACE(urlName,’ ‘, ‘-‘);
SET urlName = REPLACE(urlName,’—-‘, ‘-‘);
SET urlName = REPLACE(urlName,’—‘, ‘-‘);
SET urlName = REPLACE(urlName,’–‘, ‘-‘);
SET urlName = TRIM(urlName);
SET urlName = TRIM(BOTH ‘-‘ FROM urlName);

SET urlName = LOWER(urlName);

return urlName;
END

以下为热心网友提供的参考意见

自定义函数里面有控制语句,还在调研中。SELECT
ep2.price
FROM
t_zy_enterprise_price ep2
ORDER BY
ep2.price_date DESC
LIMIT
1
可以改成
SELECT
MAX(ep2.price)
FROM
t_zy_enterprise_price ep2 最后一个函数可以直接让业务处理a.title。此回答整理自钉群“PolarDB专家面对面 – HTAP(列存索引)”

转转请注明出处:http://www.yunxiaoer.com/178946.html

(0)
上一篇 2023年12月28日
下一篇 2023年12月28日
详情页2

相关推荐

  • 腾讯云云直播直播录制回看

    操作场景 录制回看是指您可以把用户整个直播过程录制下来,然后作为点播视频用于回看,如下图:n n在 App 上线的初期阶段,由于主播数量比较少,所以在直播列表中加入录制回看,能够在一定程度上丰富 App 在观众端的信息量。即使到 App 成长起来,并且主播数量形成规模以后,好的直播内容的沉淀依然是必不可少的一个部分,每个主播的个人介绍里除了有名字、照片和个…

    2023年12月9日
  • 腾讯云对象存储盲水印

    简介 本文档提供关于盲水印的 API 概览以及 SDK 示例代码。 API 操作描述 盲水印 对本地图片添加或提取盲水印并上传至存储桶 盲水印 功能说明 盲水印功能基于腾讯云数据万象,是一种全新的水印模式。 方法原型 def ci_put_object_from_local_file(self, Bucket, LocalFilePath, Key, Ena…

    腾讯云 2023年12月9日
  • 云原生数据仓库AnalyticDB 加了to_timestamp函数就不走分区裁剪了吗?-云小二-阿里云

    云原生数据仓库AnalyticDB PostgreSQL版 order_date是个分区键,加了to_timestamp函数就不走分区裁剪了? 以下为热心网友提供的参考意见 这个date类型跟timestamp类型的filter,planner优化器是走不上分区裁剪的,可以尝试使用orca优化器;或者把filter修改成’2023-12-12 0…

    2023年12月18日
  • 腾讯云云直播智能鉴黄

    云直播可对直播流进行鉴黄处理,因鉴黄需首先对直播流做截图处理,故使用鉴黄功能会产生 鉴黄 和 截图 两笔费用。其中使用鉴黄功能会产生费用,以当月累计画面审核张数为结算标准。 注意事项 鉴黄功能默认关闭,可通过控制台开启。云直播截图存储于对象存储 COS 中,使用后将产生 COS 存储费用,详情请参见 COS 产品计费定价 。鉴黄功能产生费用,每月有1000张…

    腾讯云 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云ECS云服务器ECS数据安全最佳实践-云淘科技

    本文档从使用云服务器ECS的角度出发,结合相关产品和运维架构经验,介绍如何保障云端的数据安全。 适用对象 本文档适用于刚开始接触阿里云的个人或者中小企业用户。 定期备份数据 数据备份是容灾的基础,可以降低因系统故障、操作失误以及安全问题而导致数据丢失的风险。ECS自带的快照功能可满足大部分用户数据备份的需求。您可根据自身业务需求选择创建快照的方式。具体操作,…

    阿里云服务器 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。