カラム数が多すぎると共有プールのSQLキャッシュが増えすぎる恐れがあります。
新機能を実装するような場合に確認するといいでしょう。
一般的に、マスタ系のテーブルは属性がも多く、カラム数が多くてもやむを得ないことがあります。
ただし、トランザクション系のテーブルでカラムが多いのは設計そのものに問題がある可能性があります。
set time on
set pages 1000
set lines 100
col table_name for a30
col owner for a20
select owner,table_name,count(column_name) as columns
from dba_tab_columns
where owner<>'SYS'
group by owner,table_name
having count(column_name)>30
order by columns desc,owner,table_name;
実行例は次の通り。
この場合、上位4テーブルがゲームクエストのクリア件数をカラムごとに保持していたため、設計の見直しを検討しました。
OWNER TABLE_NAME COLUMNS
-------------------- ------------------------------ ----------
APPLI001EUSER TBL_USER_MISSION3 105
APPLI001SUSER TBL_USER_MISSION2 105
APPLI002EUSER TBL_USER_MISSION3 105
APPLI002SUSER TBL_USER_MISSION2 105
HISTSSSUSER MST_DOWNLOADITEM 81
SSS01DBEUSER TBL_USERMYROOM3 51
SSS01DBSUSER TBL_USERMYROOM2 51
SSS01DBWUSER TBL_USERMYROOM4 51
SSS01DBEUSER MST_USERPERSONAL3 47
SSS01DBSUSER MST_USERPERSONAL2 47
SSS01DBWUSER MST_USERPERSONAL4 47
PERFSTAT STATS$SQL_SUMMARY 43
SYSTEM LOGMNRC_GTLO 40
APPLI001EUSER TBL_APPLI_USER3 37
APPLI001SUSER TBL_APPLI_USER2 37
APPLI002EUSER TBL_APPLI_USER3 37
APPLI002SUSER TBL_APPLI_USER2 37
PERFSTAT STATS$SQL_PLAN 34
SSS01DBSTEST MST_APPITEM 33
SSS01DBEUSER TBL_AUTOUSE_STAT3 32
SSS01DBSUSER TBL_AUTOUSE_STAT2 32
SSS01DBWUSER TBL_AUTOUSE_STAT4 32