newtype
::: newtype의 지식창고 :::
newtype
전체 방문자
605,344
오늘
5
어제
7
  • 분류 전체보기 (390)
    • it (212)
      • c (43)
      • VB (5)
      • csharp (2)
      • java (2)
      • etc (32)
      • www (48)
      • emb (25)
      • win (4)
      • db (20)
      • sqlce (7)
      • devOps (8)
      • gmap (6)
      • python (2)
      • cygwin (2)
      • go (5)
      • ruby (1)
    • 명언 (10)
    • 모임 (18)
      • 붕주회 (3)
      • 신흥컴정 (14)
      • 웹20기 (1)
    • 사진 (8)
    • 불펌 (29)
    • 막글 (98)
    • 게임 (6)
    • 여행 (8)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 관리

공지사항

  • whoami
03-26 16:54
hELLO · Designed By 정상우.
newtype

::: newtype의 지식창고 :::

오라클 테이블의 레코드 사이즈 계산을 쉽게하자
it/db

오라클 테이블의 레코드 사이즈 계산을 쉽게하자

2012. 8. 10. 09:03

오라클 DB 테이블의 레코드 사이즈 계산을 할 필요가 있었다.

구할려고 보니, 데이터 형별로 계산 공식이 틀리다.

계산 공식 : http://epoonet.egloos.com/4479971

쉽게 계산하기 위해 HTML 로 작성해봤다.

사용방법은 DB테이블 Description의 레코드별 사이즈 부분을 TextArea에 붙여 넣고 실행하면 된다.


주요 소스 내용은 아래와 같다.


<head>
	<title>테이블 레코드 계산</title>
	<script src="http://code.jquery.com/jquery-1.5.min.js" type="text/javascript" 
                      charset="utf-8"></script>
    <script>
        /* 계산 공식 출처 
        	http://epoonet.egloos.com/4479971
        */
    	var pTable = [
    		{ type: "char", 	calc:function(n){ return n; }},
    		{ type: "varchar2", calc:function(n){ return n; }},
    		{ type: "nchar",	calc:function(n){ return 2 * n;  }},
    		{ type: "nvarchar2",calc:function(n){ return 2 * n; }},
    		{ type: "number",   calc:function(n){ return 1+ Math.ceil(n/2); }},
    		{ type: "date",		calc:function(n){ return 7; }},
    		{ type: "raw",		calc:function(n){ return n; }},
    		{ type: "long",		calc:function(n){ return n; }},
    		{ type: "long raw", calc:function(n){ return n; }},
    		{ type: "bfile", 	calc:function(n){ return 530; }},
    		{ type: "rowid", 	calc:function(n){ return 6; }},
    		{ type: "timestamp",calc:function(n){ return 13; }}
    	];
    	
        $(document).ready(
            function(){
            $("#DoIt").click(function() {
				var resultText = "";
				var inputText = $("textarea#src").val().toLowerCase().split("\n");
				var lineString;
				var size =0, sum =0;
				var buf;
				
				for(var i=0; i<inputText.length; i++) {
				
					size = 0;
				
					if ( lineString=$.trim(inputText[i]) ) {
						for(var j=0; j<pTable.length; j++) {
							if ( lineString.substr(0, pTable[j].type.length) 
                                                              == pTable[j].type ) {
								try {
								   size = Number(lineString.split("(")[1].split(")")[0]);
								} catch (e) { 
								   size = 0;
								}

								size = pTable[j].calc(size);
								break;
							}
						}
					}
					
					sum += size;
					resultText += lineString + " : " + size + "<br/>";
					
				}
				
				resultText += "<br/><b>sum: " + sum + "</b>";
				$("#result").html( resultText );
				
            });
        });
    </script>
	<style type="text/css">
        * { font-size:12px; font-family:맑은고딕 }
    </style>
</head>


<body>
<textarea id="src" rows="20" cols="80"></textarea>
<br/>
<input type="button" value="Do It!" id="DoIt">
<br/>
<br/>
<span id="result"></span>


직접 실행을 위한 URL은 아래와 같다.

http://host.newtype.pe.kr/tools/ora_table_size.htm 

반응형
    'it/db' 카테고리의 다른 글
    • OCILib를 사용하는 경우 필수 파일
    • 오라클 Plan 정보 보는 방법
    • 오라클에서 조회한 결과를 Text 파일로 저장하기
    • 오라클에서 다른 계정으로 데이터 마이그레이션 방법
    JavaScript, jQuery, 레코드사이즈, 오라클
    newtype
    newtype
    지극히 개인적인 지식의 창고
    댓글쓰기
    다음 글
    OCILib를 사용하는 경우 필수 파일
    이전 글
    오라클 Plan 정보 보는 방법

    티스토리툴바