首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >优化DB2查询-如何从bigint转换为varchar/char?

优化DB2查询-如何从bigint转换为varchar/char?
EN

Stack Overflow用户
提问于 2014-01-23 00:22:31
回答 1查看 2.4K关注 0票数 0

我试图在DB2中优化这个查询。选择url关键字的内部查询将查询时间从15秒到大约10分钟。我已经找到了这个问题,这似乎是因为比较'where tracked = c.catentry_id‘是比较varchar字段(’ve关键字)和bigint字段。如果我修改它以将varachar与字符串值进行比较,它就会变得更快。我的问题是:

从bigint到varchar转换c.catentry_id的语法是什么?(我想如果我能做到这一点,它就能解决它)

代码语言:javascript
复制
 select 
                    xmlelement(NAME "Products",xmlagg(xmlrow(c.field5 as "ExternalId",
                    cd.name as "Name",
                    cg.identifier as "CategoryExternalId",
                    concat('@bv.base.image.url@', cd.thumbnail) as "ImageUrl",


    (select urlkeyword from seourl s
                        inner join seourlkeyword sk
                        on s.seourl_id = sk.seourl_id
                        where urlkeyword = c.catentry_id

) as "ProductPageUrl",              
                    mfpartnumber as "ManufacturerPartNumber",
                    cd.shortdescription as "Description",
                    c.field1 as "BrandExternalId" option row "Product"))) as xml_document

                    from catentry c 
                    inner join catentdesc cd
                    on c.catentry_id = cd.catentry_id and cd.language_id = -1
                    inner join catgpenrel cgp 
                    on c.catentry_id = cgp.catentry_id
                    inner join catgroup cg
                    on cg.catgroup_id = cgp.catgroup_id
                    where cgp.catalog_id in
                   (select catalog_id from catalog where identifier = 'Web_OW Default Web')
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-23 08:04:52

你可以试试这个

代码语言:javascript
复制
where urlkeyword = CAST(c.catentry_id AS VARCHAR(n))

显然,您需要在you关键字字段的长度中替换n

但是,我认为这个问题涉及到索引正确的表。

希望这能帮到你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21296948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档