Sql优化,查询三个视图,查询100条数据居然要1分钟。求高手优化,在线等。。。。。

三个视图第一个视图不到1000条数据(V_ORG,对于的表中数据也就一千多条),第二个视图一百多条数据(V_BGITEM,对应的表中也一千多条数据),对V_ORG、V_B... 三个视图 第一个视图不到1000条数据(V_ORG,对于的表中数据也就一千多条),第二个视图一百多条数据(V_BGITEM,对应的表中也一千多条数据),对V_ORG、V_BGITEM做笛卡尔集(结果也就不到十万的数据),LEFT JOIN 第三个视图(V_BGDATA,对应的表中的数据千万级的,视图对表做了一些字符串截取),这样查询出来100条数据需要差不多一分钟,求高手给出优化方案.? 展开
 我来答
thain0
2013-06-10 · TA获得超过267个赞
知道小有建树答主
回答量:597
采纳率:0%
帮助的人:528万
展开全部
对表截取字符串用来关联另两个表的笛卡尔乘积的,可以对这个截取字符串的操作建立函数索引,使两者之间的关联用到索引
另外,那个1000万数据的表,可以看看是否可以分区,
在视图查询的时候,可以考虑对这个千万级的表进行并发查询,充分利用cpu
另外,此三表的统计信息在数据量更新较大的情况下也要注意更新统计信息
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
蚊子打大炮
2013-06-08 · TA获得超过1295个赞
知道小有建树答主
回答量:1539
采纳率:100%
帮助的人:972万
展开全部
分步走,把前面2个的结果先 insert #临时表,然后再用临时表去和第三个表比较
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wang378752366
2013-06-08
知道答主
回答量:34
采纳率:0%
帮助的人:17.6万
展开全部
关联条件设置为索引
更多追问追答
追问
有一个关联条件是建了索引,另个一个关联条件是截取出来的,不能建索引。
追答
你把那个关联条件注释下 看看速度会不会上去
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
baodeyu121
2013-06-08 · 超过21用户采纳过TA的回答
知道答主
回答量:156
采纳率:0%
帮助的人:76.7万
展开全部
建议加些强制索引 有可能你用到视图 不走索引。没有索引建议建立一些
可以建立 函数索引 就是截取的
更多追问追答
追问
不用视图的时候一样的效果,增加视图只是让SQL看起来逻辑清楚一些,索引创建了的。
追答
你可以分析下,先执行下作笛卡尔的 查询时多久。如果很短的话 时间长就出现在 后面的 JION 在根据 JOIN 的条件 增加索引 你用截取 可以尝试下 函数索引有没有效果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式