-----------------------------------------
답변자가 기본적으로 참고할 내용입니다.
- 배포판(옵션) :
- 커널버전(옵션)
:
- 데몬버전(예:apache
1.3.27) :
- 데몬설치유형(RPM/컴파일/기타)
:
-----------------------------------------
이번에 사양이 좋은 서버에서 스팩이 낮은 시스템으로
포탈 사이트를 이설 작업을 했습니다.
포털 사이트 구성은 아파치랑 mysql php형태로 움직이고
있습니다.
현재 이설후 서버 사양은
cpu
model name : Pentium III (Coppermine)
stepping : 3
cpu MHz : 697.864
메모리
512M
정도의 꽤 옛날 델 서버입니다.
현재 문제점이 이설후에 cvs형태의 엑셀화일을 사이트에 업로드
할경우
top으로 보면 mysql이 99%를 차지하면서 4시간정도 걸린후에야
csv화일이 mysql db에 경우 저장 되네요. ㅠㅠㅠㅠㅠ
그렇타고 csv 의 필드라고 해 봐야..2000정도의
라인정도이고
기존에 있는 db에 저장 된 row수도 경우 3만건정도입니다.
지금까지 사양이 좋은 서버에서는 아무래도 서버 스팩으로
어째든 견뎌낸 모양인데요. 사양이 낮은 서버로 이설후에
문제점이 발견된것 같습니다.
서버가 아무리 옛날 놈이라고 해도 서버 문제 보다는
sql쿼리 문제 인것 같았서..소스를
보니 아래와 같습니다.
updata 쿼리를 날릴경우에 아래와 같은 방법보다 한방에
해결할수있는
쿼리는 어떤 형태로 짜면 좋을지..조언 좀 부탁드립니다.
필요없는 부분이 중략했습니다.
소스를 보니 select해서 있으면,updata하고
없으면 insert 형태인데요
좀 세련된 방법은 없을까요...
______________________________________________________
//등록 유저 확인
$sql = "SELECT * FROM call_cdr_f where opt6 = '$buff_5' AND opt10 =
'$
buff_9' AND opt16 = '$buff_15' AND opt17 = '$buff_16'";
$result = mysql_query($sql);
$num = mysql_num_rows($result);
//UPDATE 확인
if($num > "0"){
$sqlstmt = "update call_cdr_f set
opt1 = '$buff_0',
opt2 = '$buff_1',
opt3 = '$buff_2',
opt4 = '$buff_3',
where opt6 = '$buff_5' AND opt10 = '$buf
f_9' AND opt16 = '$buff_15' AND opt17 = '$buff_16'";
// 테이블에 테이타 삽입
mysql_query($sqlstmt) or dbError(mysql_error());
// 없을 경우에 insert
}else{
$sqlstmt = "INSERT INTO call_cdr_f
(opt1, opt2, opt3, opt4, opt5, opt6, opt
7, opt8, opt9, opt10,opt11, opt12, opt13, opt14, opt15, opt16, opt17, opt18, opt
19, opt20, opt21, opt22)
----------------------------------------------------------
그리고 하나 더 산이님 조언을 얻고자합니다.
저는 지금까지 mysql를
백업할때
mysqldump명령어로
전체 테이블을 백업을 하고 혹시나 해서 mysql테이블 정도
백업하는 형태로 사용합니다.
mysqldump -uroot -p --all-databases > ALLdatabases.sql
mysqldump -uroot -p mysql > MySQL.sql
어떤 분은 /var/lib/mysql 전체를 풀 백업 하는분도 있고 한데
이것을 제 생각으로는 바르지 않다고 생각이 들고요..
어떤분은 /var/lib/mysql/db명/
안에 .MYI 를 전부백업 하는 분도 있는데
어느 방법이 복구로 가장 적합한지요?
그리고.. /var/lib/mysql/db명/
안에 보면 MYI,MYD,frm 파일등이 있는데요
이것을 갱신,삭제,변경이
생길경우에 갱신된다고 정도만 알고있습니다.
역할들이 뭔지 ..조언을 mysql서버에 따라 MYI,MYD,frm 파일이 없는
서버도 있더라고요...
|