要对sql了解到何种程度才能达到具备调优的能力

新人小菜鸟一枚,请问:对于sql的调优,具体要对sql了解到何种程度才能达到具备调优的能力:还有就是面对一个陌生的复杂sql,是否有什么较快捷的方式去了解它,掌握它,发现它的问题在哪里?...显示全部
新人小菜鸟一枚,请问:
对于sql的调优,具体要对sql了解到何种程度才能达到具备调优的能力:
还有就是面对一个陌生的复杂sql,是否有什么较快捷的方式去了解它,掌握它,发现它的问题在哪里?收起
参与7

查看其它 5 个回答sunyangnj的回答

sunyangnjsunyangnj技术经理苏宁金融研究院
需要了解到sql知识的表面程度以下。如果只是知道如何查询,或者join,如何更新和删除,这肯定能够是不够的。
我们需要了解以下知识:

如何创建节省空间以及优化性能的表和索引,包括选择合适的数据类型,表空间分置,各种约束,生成列和序列的使用,各种compress,append on,表和索引的pctfree设置,volatile,locksize, xml, MDC的场景和原理,表分区的使用,索引的多种设计方法等等。

sql语句的执行原理,带来的锁,索引的原理,优化器处理sql的工作原理,访问计划表的解读,排序的处理等等。

一些深入的知识包括:表或者视图的结构,谓词的推移,子查询到连接的转换,隐含谓词,indexOring/indexAnding,  表扫描索引扫描,
连接方法和背后原理,优化器的优化级别,查询子句对优化器和锁的优化,优化器成本评估等等。

这些知识都要不断的去大量实践,简单的读书时不行的,要知道如何动手去解决实际问题。
金融其它 · 2013-04-24
浏览292

回答者

sunyangnj
技术经理苏宁金融研究院
擅长领域: 服务器分布式系统区块链

sunyangnj 最近回答过的问题

回答状态

  • 发布时间:2013-04-24
  • 关注会员:1 人
  • 回答浏览:292
  • X社区推广