当前位置: 首页 > news >正文

建设网站的企业名称大型门户网站建设

建设网站的企业名称,大型门户网站建设,贵州中信建设有限责任公司,中国制造网属于b2b吗Part14-Query Planning & Optimization I SQL is Declarative,只告诉想要什么而不需要说怎么做。 IBM System R是第一个实现query optimizer查询优化器的系统 Heuristics / Rules 条件触发 静态规则,重写query来remove 低效或者愚蠢的东西&#xf…

Part14-Query Planning & Optimization I

SQL is Declarative,只告诉想要什么而不需要说怎么做。

IBM System R是第一个实现query optimizer查询优化器的系统

  • Heuristics / Rules

    条件触发 静态规则,重写query来remove 低效或者愚蠢的东西,需要examine catalog看一些schema来判断不需要具体data。

  • Cost-based Search

    使用一个代价模型来估测执行一个查询计划的代价,需要以某种方式去查看数据,枚举该SQL所有可能的不同查询方案以某种智能的方式去除多余或者愚蠢的方案。

applcation → sql rewriter → parser → binder(负责把sql查询中引用的命名对象转换为某种内部的标识符internal identifier) → tree rewriter → optimizer →

sql query → sql query → abstract syntax Tree → (name→internal ID) → Logical Plan(high level查询要干嘛) → Logical Plan → Physical Plan(DB 实际执行查询语句的方式)

Untitled

Logical VS. Physical Plans

逻辑计划相当于查询中的关系代数表达式,比如查询计划树种包含了这些关系代数的符号,但是不会说具体要用哪种方式和算法。

物理计划是实际上用来定义查询计划种执行方案的地方,具体要再查询计划种如何使用这些不同的operator,具体哪个index

Query Optimization is NP-HARD


Relational Algebra Equivalences

等价关系代数,以此来对查询计划进行等价的操作和转换,所谓的等价就是如果两个关系代数表达式能够得到相同的元组集合那就认为等价。

Predicate Pushdown

filter before the join

Untitled

  • 尽可能早过滤
  • 重新排序 让最具有选择性地先进行过滤
  • 拆分复杂的predicate 然后push down

Untitled

Projection PushDown

尽早投影 以创建更小的tuple 减少中间结果,对行存比较关键,列存不重要。在join之前引入一个projection操作,减少列信息

Untitled

SELECT A1.*FROM A AS A1 JOIN A AS A2ON A1.id = A2.id;
# 等价于,中间做了个无意义的join
select * from A;
# 是不是可以用这样的例子来测试一个DB的查询优化

还可以忽略不必要的projections

select * from A AS A1where exists(select val from A AS A2where A1.id = A2.id);
# equal to
select * from A;

Merge Predicates

SELECT * FROM AWHERE val BETWEEN 1 AND 100OR  val BETWEEN 50 AND 150;
# rewrite
SELECT * FROM AWHERE val BETWEEN 1 AND 150;

查看catalog,比如写一个主键≠null或者写主键=null都会访问catalog 根据scheme进行rewrite

n-way join : 可能有 4 n 4^n 4n种,

Cost Estimation

一个查询需要多久

  • CPU:small cost,tough to estimate
  • Disk:block transfers
  • Memory: Amount of DRAM used
  • Network: 分布式情况下考虑rtt messages

真正知道物理代价只有通过去运行,但是代价太高,所以使用代价模型估测,而预估查询的成本是通过在内部维护表的相关信息来做的。

Statistic

internal statistic,维护索引、表、元组中的值的有关的元数据

Manual invocations:

  • pg/SQL LITE:ANALYZE
  • Oracle/Mysql: ANALYZE TABLE
  • SQL Server: UPDATE STATISTICS
  • DB2: RUNSTATS
http://www.yidumall.com/news/34390.html

相关文章:

  • 微信公众号的子菜单网页怎么制作如何分步骤开展seo工作
  • 做煤层气的网站软件推广
  • 网站大致内容seo网站外链平台
  • 天津做公司网站长沙百度百科
  • 个人网站建设方案书例文排名优化公司哪家靠谱
  • .net网站开发岗位网络营销是什么意思
  • 百度云bos链接WordPress深圳关键词优化平台
  • 深圳做app网站临沂seo代理商
  • 重庆做网站泉州公司海外独立站
  • 山东做网站公司有哪些seo入门教程seo入门
  • 如何编辑网站内容推广平台网站有哪些
  • 怎样与知名网站做友情链接做互联网推广的公司
  • 广州天与地网站建设海外销售平台有哪些
  • 英国人做愛无网站微信营销典型案例
  • 东莞专业做网站网站外链有多重要
  • 购物网站怎么做推广seo的方法
  • 沈阳做公司网站的公司0元做游戏代理
  • 网站建设赚钱吗seo优化技术排名
  • 武汉搜索引擎营销北京seo网站管理
  • 昆明免费交友网站用html制作淘宝网页
  • 做照片视频的网站百度官方营销推广平台加载中
  • 网站突然不收录2017新华传媒b2b商务平台
  • 免费学习资源网站软文营销经典案例200字
  • 一个网站如何做cdn加速国内广告投放平台
  • 成都网站设计优秀柚v米科技网站的推广优化
  • 东莞网站制作品牌祥奔科技免费网站建设制作
  • 什么是营销模式百度seo流量
  • 西安做网站必达网络灰色seo关键词排名
  • 深圳罗湖住房和建设局网站域名查询注册信息查询
  • 青岛专业网络推广定制搜索引擎优化的重要性