오라클 DB 테이블의 레코드 사이즈 계산을 할 필요가 있었다.
구할려고 보니, 데이터 형별로 계산 공식이 틀리다.
쉽게 계산하기 위해 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은 아래와 같다.
반응형
'Dev > DBMS' 카테고리의 다른 글
| 이모지(Emoji) 지원을 위한 MariaDB 설정 (0) | 2023.07.28 |
|---|---|
| OCILib를 사용하는 경우 필수 파일 (0) | 2016.04.27 |
| 오라클 Plan 정보 보는 방법 (0) | 2012.07.16 |
| 오라클에서 조회한 결과를 Text 파일로 저장하기 (0) | 2010.02.24 |
| 오라클에서 다른 계정으로 데이터 마이그레이션 방법 (0) | 2010.02.01 |