EBS 中FND_STATS和dbms_stats區別

luckyfriends發表於2014-06-12

Use only FND_STATS or the Gather Schema and Gather Table Statistics Concurrent Programs.

  • Do NOT USE the analyze or dbms_stats command directly. It is not supported, and results in sub-optimal plans.
  • To execute the corresponding FND_STATS procedures from SQL*Plus to gather CBO stats for one or all schemas, or for a particular table, use the following examples:
    # sqlplus apps/
    SQL> exec fnd_stats.gather_schema_statistics('MRP'); SQL> exec fnd_stats.gather_schema_statistics('ALL'); SQL> exec fnd_stats.gather_table_stats('MRP','MRP_FORECAST_DATES');

    為什麼要使用FND_STATS , 而不是DBMS_STATS . 主要有以下的考慮:

    fnd_stats 是 wrapper around dbms_stats , dbms_stats 是資料庫提供的包。

    fnd_stsats 只能用於EBS, dbms_stats 通用於資料庫 。

    fnd_stats 可以從某個failed / stopped point 重新開始,dbms_stats 在10g才有這個特性

    fnd_stats 會根據FND_HISTOGRAM_COLS 中所列的行自動建立 histograms, dbms_stats 需要手工建立

    fnd_stats 從11.5.10開始,可以為stale or empty stats收集統計資訊,變化的threshold可以被改變(default 10%), dbms_stats 在11g以前,對於staleness的變化閥值一定是 10% .

    參考

    翻譯的不知道對不對, 歡迎指正,補充。

     

  • 來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14710393/viewspace-1181578/,如需轉載,請註明出處,否則將追究法律責任。

    相關文章