新機能を実装するような場合に確認するといいでしょう。
一般的に、マスタ系のテーブルは属性がも多く、カラム数が多くてもやむを得ないことがあります。
ただし、トランザクション系のテーブルでカラムが多いのは設計そのものに問題がある可能性があります。
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
0 件のコメント:
コメントを投稿