摘要: 1.BORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 drivingtable)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表 (intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.2.如果有索引,按照性能高低排序 C>A>B, 如果没有索引, 则根据返回数据量判断性能高低我们看有索引的情况:针对DB2和Oracle数据库, 请看摘自IBM的文档:General READ SQL optimization 阅读全文
posted @ 2013-08-13 21:59 dushuai 阅读(7135) 评论(0) 推荐(0) 编辑
摘要: 1.SQL的大小写要看数据库类型, 如果数据库是Oracle, 则答案是BSQL Server中, 可以手工设置数据库是否区分大小写, 所以SQL大小写对解析没有什么影响, 但是要注意的是, 一定要统一表名, SQL语句等等的格式, 统一大写或小写.Oracle则不一样, SQL设置为统一为大写时性能更优, 虽然比小写时性能高不了多少.以下内容摘自Oracle官方的数据库调优手册:Shared Pool Concepts目录下的Library Cache Concepts目录下的SQL Sharing Criteria中写到:Many Oracle products, such as Orac 阅读全文
posted @ 2013-08-13 21:58 dushuai 阅读(803) 评论(0) 推荐(0) 编辑