具体问题要具体分析。
你可以看看ORACLE的高性能SQL调整。
不过里面有些我也不太懂。
总之,大家共同讨论。

解决方案 »

  1.   

    在SQL语句中避免使用直接量例如:"select * from sales where name = 'JONES'",应在语句中使用主机变量这样可以减少解析例如:"select * from sales where name = :name".
    可以使用v$sql.executions字段来察看语句的复用次数。
      

  2.   

    如果大表有索引
    并切按照索引查询一定好的话
    你可以使用 hintsselect /*+INDEX(table_name  index_name)*/...可以去 www.leccotech.com 
    down 一个 sql   expert 下来跑一下看看当然优化本身是一个很大的题目
    只有针对特定的情况解决特定的问题才是比较容易的
      

  3.   

    对SQL语句的优化一般是这样:
    利用在表上建立索引;
    把经常在一起查询的表形成簇;
    对SQL语句进行等价变换(改变SQL的执行顺序,简化SQL的操作)
      

  4.   

    biti_rainy你说的是针对表有一个索引字段的,如果有两个索引呢?
      

  5.   

    这个题目太大了,无法准确回答
    看一下Oracle优化方面的资料吧
      

  6.   

    在写SQL脚本时应考虑数据库性能,主要是查询性能。有以下几个简单原则:
    1、 由于排序、分组、子查询会进行临时表空间的读写操作,从数据库的查询性能考虑,应避免大数据量的排序、分组和子查询操作。
    2、 查询条件中应尽量使用建有索引的列,同时不对列进行运算操作。
    3、 不要使用不等于比较( “!=” 或 “<>” ) ,因为不等于比较不会使用索引进行比较(假如比较列上建有索引的话)。可采用 > or <。
    查询所有部门(dept_id)不等于’0001’的服务单位(unit),推荐的语句(在列dept_id上建有索引:
    SELECT * FROM unit WHERE dept_id > ‘0001’ OR sdept_id < ‘0001’;
    而不要使用下面的语句:
    SELECT * FROM unit WHERE dept_id <> ‘0001’。
    4、 不使用NOT IN比较,同样NOT IN也不会使用索引。
    5、 在WHERE子句中使用LIKE时,应避免在比较值前面使用“%”,如 SELECT * FROM unit WHERE sunit_name LIKE ‘%AAA%’,如果在sunit_name字段上建了索引,则此条件将不会使用索引。
      

  7.   

    我查阅了《ORACLE的高性能SQL调整》这本书
    上面提出一种优化方法
     select /*+and_equal(table_name,primary_name,index_name)*/
      

  8.   

    select top 50 * from 数据库
      

  9.   

    SQL优化是要看具体问题的,其实里面的东西太多了。
      

  10.   

    1.少用连接;不论内联接还是外连接,都会造成大规模的表扫描、排序等操作;
    2.多用like,,or,in,case等;
      

  11.   

    采用LEFT JOIN左连接或是RIGHT JOIN右连接等优化语句实现跨表查询
      

  12.   

    SQL其实是建立在关系代数和关系运算的数学基础上的,比较深刻的理解了
    这些内容之后你就大致会知道数据库管理系统(无论Oracle也好,SQL Server
    也好)是如何实现的,譬如一个复杂查询的系统一步步的运算或比较顺序,如
    果你从这点着手,将可以得到非常高效的查询!  呵呵, 这也是偶的一点经
    验之谈,以前也做过些实验和探讨,大家不妨琢磨琢磨, 呵呵。
      

  13.   

    当表内有多个索引的时候,走那个索引,是由系统的优化程序决定的,如果你要走具体的索引,可以在SQL内设定,或删除不想走的索引
      

  14.   

    oracle主要是有一些内部的配置问题,如果你要查询数据文件,可以把表分两部分,一份当时就可以查到,一份作备份
      

  15.   

    一个经常被忽视的导致全表例遍的原因:在where字句中使用function。