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 28990 게시물 읽기
No. 28990
view에 관하여
작성자
초보자(kth2893)
작성일
2009-06-30 16:26
조회수
5,308

안녕하세요.

뷰에 관하여 궁금하여 질문 드립니다.

a라는 테이블에 데이터가 10만건이 있습니다.

해당 테이블에서 원하는 통계 데이터만 뽑아오기 위해 SELECT문으로 조회하여 가져옵니다.

이때 가져오는 속도가 30초 정도라 가정합니다.

뷰를 이용하여 통계 데이터만 가져오도록 뷰를 생성합니다.

그런데 통계 데이터를 뷰를 통하여 조회시 속도가 상당히 빠르더군요.

이렇게 속도가 빠른 이유가 멀까요?

또 a 테이블에 새로운 데이터가 insert 되면 뷰에서도 조건식이 만족하면 해당 데이터를 포함하여

보여주던데요.  이런 insert가 계속 일어나면 뷰로 인한 부하 같은건 없을까요?

 

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

mysql이 버전업이 빠르고 같은 버전 안에서도 기능이 많이 추가되고 바뀌는게 많아서 최신버전에서는 어떤지 몰라도 제가 아는 선에서는 Mysql의 뷰는 index를 걸거나 하는 실물화 적인기능(영문으로 는 materialize라고 하던데 정확한표현을 모르겠네요)한 기능은 지원되지 않습니다.

 

경험하신 '쿼리보다 뷰가 빠르더라'라는것은 아마도 쿼리 캐시에 의한 체감 차이일것으로 추측합니다. 제경험으로도 쿼리와 뷰는 속도 차이가 없었거든요.

따라서 새로은 insert가 이루어진다고 view가 무언가를 materialize하지는 않기때문에 insert시마다 DB에 추가적인 부담이 가지는 않고 view를 조회하시는 순간에만 view생성 쿼리를 실행한것과 같은 수준의 부하만 생기겠죠?

징이님이 2009-07-03 15:00에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
28993mysql 4.x 에서 ==> 3.x 로 옮겼을때 문제점... [1]
김민수
2009-07-01
6280
28992innodb data file 자동증가 (autoextend) 가 되지 않습니다. [1]
초보
2009-07-01
6257
28991Toad for MySQL 에러인데 도와주세요 --
보리
2009-06-30
5181
28990view에 관하여 [1]
초보자
2009-06-30
5308
28981select count(*) cnt ... having cnt > 1인 레코드 지우기 [1]
우영제
2009-06-29
6334
28976도와주세요 mysq l이 죽습니다. [2]
김종민
2009-06-29
5947
28947조건에 따른 필드명 변경 [1]
황현태
2009-06-27
6024
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다