database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 22416 게시물 읽기
No. 22416
replace 함수에 관하여
작성자
이민호
작성일
2004-09-20 11:14
조회수
1,832

솔직히 replace 가 함수 인지도 잘 몰라요

이것이 어떤 식으로 쓰이는 것인지 예좀 들어 주실수 잇으시면 부탁좀 드릴게요!!

이 글에 대한 댓글이 총 1건 있습니다.

 

특정 데이터의 값을 바꿀려고 할때, 보통 데이터가 이미 있으면 UPDATE 를 사용하고 없다면 INSERT 를 하겠죠.

 

그런데 REPLACE 라는 경우는 위의 경우를 좀 사용자의 입장에서 편하게 하기 위해서 일단 데이터를 DELETE 하고 그 다음에 INSERT 를 해줍니다.

 

그래서 REPLACE 의 사용법은 INSERT 와 똑 같습니다.

 

당장 사용하기에는 편할지 몰라도.. 나중에 테이블에 레코드가 엄청나게 많아진 상태에서 남용하게 되면.. 속도가 무쟈게 느려지는 경우가 많이 생깁니다.

 

당연한 이야기 겠지만.. 하나의 레코드가 없어지고 다시 집어 넣고 하는 과정중에 인덱스도 갱신되어야 하고 하는데.. 인덱스 값 하고는 전혀 관계 없는 다른 필드들의 데이터 몇개를 업데이트 하는데 REPLACE 를 사용하게 되면 쓸데없는 낭비가 너무 심해 지겠죠..

 

저도 처음에는 걍 편하니깐 저렇게 사용하다가.. 나중에 실제 서비스 할때 문제에 부딪히고 나서.. 프로그램을 수정해서 UPDATE 를 사용하는 것으로 바꾸었습니다. (물론 처음에 데이터가 없다면 INSERT 를 해야겠죠..)

 

그때 플랫폼은 FreeBSD + gcc2.96.x + MySQL 3.23.x 였었는데..

 

지금은 MySQL 버전이 4. 대로 올라서구 해서.. 얼마나 바뀌었는지 전혀 모르지만 (지금은 windows + VC + MSSQL 로 작업하는지라..), 그때의 제 기억으로는 비추였던 기능이었습니다. 당장 쓰기엔 편해도 말이죠..

 

박태수(Diode)님이 2004-09-20 14:17에 작성한 댓글입니다.
이 댓글은 2004-09-20 14:18에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
22419감사 [1]
zzz
2004-09-20
839
22418load data 사용시 당황스런 결과가 나옵니다.
냠냠아이
2004-09-20
980
22417컬럼마다 설명 다는 방법 좀 가르쳐 주십시오. [2]
최영곤
2004-09-20
1450
22416replace 함수에 관하여 [1]
이민호
2004-09-20
1832
22415무슨 뜻이예요 [2]
에러이빠이
2004-09-19
2573
22414초짜 한번 살려 주셩요~^^ [3]
이기용
2004-09-19
1191
22413DB 교차입력 [1]
yeg
2004-09-18
1113
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다