게시판 본문 ASP, ASP.NET, IIS & Script - Read Only

SQL 비교 속도 문제.
작성자: 궁금이
작성일시: 2005-01-13 09:54,  조회수: 1,018
안녕하세요.
질문이 있어서 다시 들렸습니다.
소스에 에러가 나는 건 아니고 단지 속도 문제가 좀 심각해서 문의 드립니다.

Textarea가 두개가 있습니다. 위에 원문을 넣고 카테고리 즉 한글 => 일본어 혹은 일본어 => 한글 을 선택 한후
<img src="img/btn_trans.gif" onclick="frmReplace();" style="cursor:hand" alt="번역"> 버튼을 누르면
MS SQL 데이터베이스의 테이블 안의 값들과 비교하여 원문에 있는 걸 아래의 Textarea에 replace 해주는 방식입니다.

말이 사전이지 단지 replace 해주는 역할만 해주는 것 입니다.

근데 타임 아웃 에러가 나는 건 아닌데 로컬에서 테스트를 해도 속도가 너무 늦습니다.
소스 한번 보시고 속도 개선에 대한 충고 좀 부탁 드립니다.


소스:
<%@LANGUAGE="VBSCript" codepage="65001"%>
<%Option Explicit

%>
<!--#include file="../Receive/conn.asp"//-->
<%
response.buffer = true
response.expires = 0
response.charset="utf-8"
'-- for Sql
Dim wSql, wTmp
Dim Sql
' -- for searching
Dim qry

Dim Conn, Rs, rs1
Dim idx_no,writeTxt, viewTxt, languge
Dim langL, langR
Dim txtL, txtR
Dim i, tmpTxt

idx_no = request.form("idx_no")
languge = request.form("languge")
writeTxt=request.form("writeTxt")
qry = "lang="&request.form("lang")&"&txt="&server.UrlEncode(request.form("txt"))
If idx_no="" Then idx_no="''"

viewTxt=writeTxt
If languge="" Then languge="jp1kr1"
langL = left(languge,3)
langR = right(languge,3)

sql = "select idx_no, word_kr1, word_jp1, word_en1, word_en2 from tbl_dictionary "
Sql = Sql &" Where division <> '05' "
Sql = Sql &" order by len(word_"&langL&") desc, division asc "
set Rs=Conn.Execute(sql)
If Rs.Eof = false Then
Do until Rs.Eof
txtL = Rs("word_"&langL)
txtR = Rs("word_"&langR)
If isNull(txtL) Then txtL=""
If isNull(txtR) Then txtR=""
viewTxt = replace(viewTxt,txtL,txtR)

Rs.moveNext
Loop
End If
%>
<html>
<head>
<title>::::::Dictionary:::::</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="css/style.css" rel="stylesheet" type="text/css">
<script language="javascript">

function frmAct(vChk,qry){
with(document.frm){
switch(vChk){
case "nav":
self.location.href="dic_list.asp?search=n";
break;
case "wrd":
window.open("dic_write.asp?pop=yes","wrd","left=20,top=20,width=950,height=320");
break;
case "sav":
if(word_kr1.value==""){
alert("입력하세요");
word_kr1.focus();
return;
}
if(division[0].checked==false&&division[1].checked==false&&division[2].checked==false&&division[3].checked==false&&division[4].checked==false&&division[5].checked==false&&division[6].checked==false&&division[7].checked==false&&division[8].checked==false){
alert("분류 선택");
return;
}
target="BOTTOM";
action="dic_actR.asp";
submit();
break;
case "new":
word_kr1.value="";
word_jp1.value="";
word_jp2.value="";
word_jp3.value="";
word_en1.value="";
for(var i = 0 ; i < withWord.length ; i++){
withWord[i].checked=false;
}
break;
}
}
}

function frmReplace(){
if(document.frm.languge.value==''){
alert("입력하세요");
return;
}
document.frm.action="dic_replace.asp";
document.frm.target="CONTENT";
document.frm.submit();
}
function copyit(theField) {
var tempval=eval("document.frm."+theField)
tempval.focus()
tempval.select()
therange=tempval.createTextRange()
therange.execCommand("Copy")
}
function clearTxt(){
with(document.frm){
writeTxt.value='';
viewTxt.value='';
}
}
function SetScrollPos(objElement)
{
var objTarget = document.all.TA_SRC;
objTarget.scrollLeft = objElement.scrollLeft;
objTarget.scrollTop = objElement.scrollTop;
}
function CheckLines1()
{
var strContnent = document.all.TA_SRC.value;
var aryContnent = strContnent.split("\n");
for (var i = 0; i < aryContnent.length; i++)
{
if (document.all.HiddenLine.checked == false) {
aryContnent[i] = aryContnent[i].replace(/^.+?\s:\s/, "");
aryContnent[i] = (i + 1) + " : " + aryContnent[i];
}
else{
aryContnent[i] = aryContnent[i].replace(/^.+?\s:\s/, "");
}
}
document.all.TA_SRC.value = aryContnent.join("\n");
}
function CheckLinespase1(objElement){
//if(document.frm.line.checked==false){
var strContnent = window.clipboardData.getData("Text");
var aryContnent = strContnent.split("\n");

for (var i = 0; i < aryContnent.length; i++)
{
aryContnent[i] = aryContnent[i].replace(/^.+?\s:\s/, "");
aryContnent[i] = (i + 1) + " : " + aryContnent[i];
}
event.returnValue = false;
document.all.TA_SRC.value = aryContnent.join("\n");
//}
}

</script>
</head>

<body leftmargin="0" topmargin="5" marginwidth="0" marginheight="0">
<table width="900" border="0" align="center" cellpadding="2" cellspacing="1" bgcolor="3171a5">
<form method="post" action="dic_replace.asp" name="frm">
<input type="hidden" name="lang" value="<%=request.form("lang")%>">
<input type="hidden" name="txt" value="<%=request.form("txt")%>">
<input type="hidden" name="act" value="new">
<tr>
<td valign="top" bgcolor="#FFFFFF"> <div align="center">
<table width="900" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td align="center" valign="top"><img src="img/title_trans.gif" width="880" height="40" border="0" usemap="#Map">
</td>
</tr>
<tr>
<td align="center">
<table width="880" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="13%" height="7" background="img/bg1.gif"></td>
<td width="2" align="center" bgcolor="d5d5d5"></td>
<td background="img/bg3.gif"></td>
</tr>
<tr>
<td height="30" align="center" valign="top">
<table width="200" border="0" cellspacing="0" cellpadding="0" bgcolor="EDF5FD">
<tr>
<td align="center"><BR>
<select name="languge" size="3">
<option value="">=====선택=====</option>
<option value="jp1kr1" <%If languge="jp1kr1" Then response.write "selected"%>>日 => 韓</option>
<option value="kr1jp1" <%If languge="kr1jp1" Then response.write "selected"%>>韓 => 日</option>
</select><BR><BR>
</td>
</tr>
<tr>
<td height="1"align="center" background="img/dot.gif"></td>
</tr>
<tr>
<td align="center" bgcolor="FFFFFF">  </td>
</tr>
<tr>
<td align="right" bgcolor="FFFFFF" height="120" valign="bottom">
</td>
</tr>
</table>
</td>
<td width="2" align="center" bgcolor="d5d5d5"></td>
<td height="30" align="center">
<table width="660" border="0" cellspacing="3" cellpadding="0">
<tr>
<td>
<input type="checkbox" name="HiddenLine" value="1" onclick="CheckLines1();"> 라인 넘버 표시 않함
</td>
</tr>
<tr>
<td align="center">
<textarea cols="77" rows="14" name="writeTxt" style="overflow:auto;line-height:13px;" id="TA_SRC" onpaste="CheckLinespase1(this);" onkeydown="CheckLines1(this);"><%=writeTxt%></textarea>
</td>
</tr>
<tr>
<td height="1"align="center" background="img/dot.gif"></td>
</tr>
<tr>
<td align="center">
<textarea cols="77" rows="14" name="viewTxt" style="overflow:auto;line-height:13px;" id="TA_TRG" onscroll="SetScrollPos(this);" ><%=viewTxt%></textarea>
</td>
</tr>
</table>
</td>
</tr>

<tr>
<td height="3" background="img/bg1.gif"></td>
<td width="2" align="center" bgcolor="d5d5d5"></td>
<td height="3" background="img/bg3.gif"></td>
</tr>
<tr align="right">
<td height="8" colspan="4" ></td>
</tr>
<tr>
<td align="right" colspan="4">
<img src="img/btn_trans.gif" onclick="frmReplace();" style="cursor:hand" alt="번역">
</td>
</tr>

</table></td>
</tr>
</table>
</div></td>
</tr>
</form>
</body>
</html>

IP 주소: 61.33.79.10
전체 2,095 건의 게시물, 84 페이지로 구성된 ASP, ASP.NET, IIS & Script 게시판의 47 페이지입니다.
게시물
976

날짜를 리스트형식으로 가능할까요?

미루

2005-01-29 4,818
975

re: 날짜를 리스트형식으로 가능할까요?

송원석

2005-01-31 2,538
974

파일큐브 질문이 있습니다. [3]

강현동

2005-01-28 2,433
973

또질문드립니다.

명랑군

2005-01-27 769
972

re: 또질문드립니다.

송원석

2005-01-27 2,443
971

re: 또질문드립니다.

명랑군

2005-01-28 763
970

re: 또질문드립니다.

송원석

2005-01-28 2,370
969

파일큐브에서

명랑군

2005-01-26 792
968

re: 파일큐브에서

송원석

2005-01-26 2,371
967

서버에서 다운로드시 이런 에러 가 발생합니다.

명랑군

2005-01-25 802
966

re: 서버에서 다운로드시 이런 에러 가 발생합니다.

송원석

2005-01-25 2,549
965

수업시간표 짜는 프로그램 [1]

정보문

2005-01-18 3,797
964

ie 위치 이동 [1]

정보문

2005-01-18 2,507
963

re: ie 위치 이동

송원석

2005-01-18 2,593
962

테이블 갯수 알아오기 [6]

정보문

2005-01-17 2,808
961

re: 테이블 갯수 알아오기 [1]

송원석

2005-01-17 2,638
960

안녕하세요 자바스크립트 질문인데요.. ^^

오마르

2005-01-15 835
959

re: 안녕하세요 자바스크립트 질문인데요.. ^^

오마르

2005-01-15 791
958

re: 안녕하세요 자바스크립트 질문인데요.. ^^ [1]

송원석

2005-01-15 2,473

SQL 비교 속도 문제.

궁금이

2005-01-13 1,018
955

re: SQL 비교 속도 문제. [1]

송원석

2005-01-13 2,468
954

re: SQL 비교 속도 문제.

송원석

2005-01-13 2,588
953

너무 감사 드립니다.

궁금이

2005-01-13 886
952

re: 너무 감사 드립니다.

송원석

2005-01-14 3,089
951

FileCube에서 화일 업로드 문제...

전찬석

2005-01-12 3,301