아웃룩 2003
아래 정보는 애니메이션 데모로도 볼 수도 있습니다: Gmail POP 서비스
|
'도서관 I > 윈도우' 카테고리의 다른 글
[바람이] 내컴퓨터에서 "연결 프로그램"이 뜰 경우 (0) | 2007.06.20 |
---|---|
[펌] 바탕화면 배치 저장 (0) | 2007.05.29 |
[바람이] Windows OS 에서 DirectX 버전 확인 법 (0) | 2007.05.29 |
아웃룩 2003
아래 정보는 애니메이션 데모로도 볼 수도 있습니다: Gmail POP 서비스
|
[바람이] 내컴퓨터에서 "연결 프로그램"이 뜰 경우 (0) | 2007.06.20 |
---|---|
[펌] 바탕화면 배치 저장 (0) | 2007.05.29 |
[바람이] Windows OS 에서 DirectX 버전 확인 법 (0) | 2007.05.29 |
Oracle Table Alias ㅡ,.ㅡ (4) | 2009.07.02 |
---|---|
[바람이] sysbench-0.4.8 (0) | 2007.09.03 |
[바람이] Mysql InnoDB - DoubleWrite (0) | 2007.08.07 |
[펌] MySql Storage Engines (0) | 2007.07.11 |
[바람이] MySql 5.0.37 Windows Source 설치 조건 (0) | 2007.07.02 |
Oracle Table Alias ㅡ,.ㅡ (4) | 2009.07.02 |
---|---|
[펌] Mysql에서 error while loading shared libraries: libmysqlclient.so.XX 에러 발생시 (0) | 2007.09.04 |
[바람이] Mysql InnoDB - DoubleWrite (0) | 2007.08.07 |
[펌] MySql Storage Engines (0) | 2007.07.11 |
[바람이] MySql 5.0.37 Windows Source 설치 조건 (0) | 2007.07.02 |
원문 : __FILE__, __FUNCTION__, __LINE__ 매크로~
printf, printk, fprintf 등등..
테스트나 디버깅 할때 어느 파일의 어느 함수의 몇번째 라인인지를 손쉽게 찍어 주는 구마..
예)
printf("파일 : %s, 함수 : %s, 라인 : %d\n", __FILE__, __FUNCTION__, __LINE__);
종종 __FUNCTION__ 에서 에러가 날수도 있는데....
그러면 대신 __func__ 를 사용하도록......
형식지정자 정리 된 것 (printf , scanf 등등) (0) | 2011.04.02 |
---|---|
[펌] Hungarian Notation (헝가리안 표기법) (0) | 2007.11.27 |
[펌] 동적 디버깅 __FILE__ , __LINE__의 활용 (0) | 2007.08.30 |
[바람이] Release 버젼을 위한 효율적인 Debugging 코드 작성법 (0) | 2007.07.09 |
[펌] 컴퓨터가 이해할 수 있는 코드는 어느 바보나 다 짤 수 있다. 좋은 프로그래머는 사람이 이해할 수 있는 코드를 짠다. (0) | 2007.06.27 |
[펌] Hungarian Notation (헝가리안 표기법) (0) | 2007.11.27 |
---|---|
[펌] __FILE__ , __FUNCTION__ , __LINE__ 매크로 (0) | 2007.08.30 |
[바람이] Release 버젼을 위한 효율적인 Debugging 코드 작성법 (0) | 2007.07.09 |
[펌] 컴퓨터가 이해할 수 있는 코드는 어느 바보나 다 짤 수 있다. 좋은 프로그래머는 사람이 이해할 수 있는 코드를 짠다. (0) | 2007.06.27 |
[바람이] C++ 생성자에 인자를 전달하는 방법 (학생질문에 대한 대답) (0) | 2006.07.27 |
파일자르기
split -C 1024000 install.log
- install.log 파일을 1메가 한도내의 줄단위로 자른다.
split -b 10240 install.log install_
- install.log 파일을 10키로바이트 단위로 접두어 install_로 자른다.
[펌] eggshell.c 코드 (0) | 2008.11.14 |
---|---|
[바람이] .vimrc에서 syntax on이 적용되지 않을 때 (0) | 2007.08.22 |
[바람이] 리눅스에서 주로 사용하는 명령어 사용법 (0) | 2007.08.02 |
[바람이] vi 사용법 정리 (0) | 2007.08.01 |
[펌] gcc 명령어 (0) | 2007.07.26 |
[펌] eggshell.c 코드 (0) | 2008.11.14 |
---|---|
[펌] 대용량 파일 자르기 (0) | 2007.08.22 |
[바람이] 리눅스에서 주로 사용하는 명령어 사용법 (0) | 2007.08.02 |
[바람이] vi 사용법 정리 (0) | 2007.08.01 |
[펌] gcc 명령어 (0) | 2007.07.26 |
InnoDB
uses simulated asynchronous disk I/O: InnoDB
creates a number of threads to take care of I/O operations, such as read-ahead.
There are two read-ahead heuristics in InnoDB
:
In sequential read-ahead, if InnoDB
notices that the access pattern to a segment in the tablespace is sequential, it posts in advance a batch of reads of database pages to the I/O system.
In random read-ahead, if InnoDB
notices that some area in a tablespace seems to be in the process of being fully read into the buffer pool, it posts the remaining reads to the I/O system.
InnoDB
uses a novel file flush technique called doublewrite. It adds safety to recovery following an operating system crash or a power outage, and improves performance on most varieties of Unix by reducing the need for fsync()
operations.
Doublewrite means that before writing pages to a data file, InnoDB
first writes them to a contiguous tablespace area called the doublewrite buffer. Only after the write and the flush to the doublewrite buffer has completed does InnoDB
write the pages to their proper positions in the data file. If the operating system crashes in the middle of a page write, InnoDB
can later find a good copy of the page from the doublewrite buffer during recovery.
원문 : http://www.mysqlkorea.co.kr/sub.html?mcode=develop&scode=01&m_no=20752&cat1=14&cat2=422&cat3=448&lang=e
InnoDB의 버퍼를 공부하다 보니 DoubleWrite Buffer에 대해서 나오길래 찾다가 MySql 홈페이지에서 찾았다.
InnoDB는 시뮬레이티드 비동기 (simulated asynchronous) 디스크 I/O를 사용한다: InnoDB는 읽기-위주 (read-ahead)와 같은 I/O 연산을 잘 처리하기 위해 수많은 쓰레드를 생성한다.
InnoDB에는 두 가지의 읽기-위주 방법이 존재한다:
InnoDB는doublewrite라고 불리우는 기발한 파일 플러시 기법 (novel file flush technique)을 사용한다. 이 기법은 OS 크래시 또는 전원 문제 이후의 복구 연산을 보다 안전하게 하도록 하며, fsync() 연산에 대한 필요성을 절감시킴으로써 다양한 유닉스 버전의 성능을 향상시켜준다.
이중 쓰기란, 데이터 파일에 페이지를 쓰기 전에, InnoDB는 우선 페이지를 이중 쓰기 버퍼라고 불리우는 인접한 테이블스페이스에 기록한다는 것을 의미한다. 이중 쓰기 버퍼에 기록을 하고 이것을 플러시한 후에야 InnoDB는 그 페이지를 데이터 파일의 적당한 위치에 기록을 하게 된다. 만일 OS가 페이지 쓰기 중간에 크래시 된다면, InnoDB는 나중을 복구를 할 때 이중 쓰기 버퍼에서 제대로 된 페이지를 찾을 수가 있게 된다.
이는 한글 메뉴얼 site에서 번역본을 찾은 것이며, 조금 번역이 잘못된 것을 고쳐 보았다.
다음은 조금 이해하기 어려운 용어를 정리해 보았다. 도움이 되길...
* 읽기-위주 (read-ahead)
- 딱히 번역할 말을 나도 찾지 못하겠다. 쩌비.
우선, read-ahead란 일반적으로 데이터는 연속된 공간에 순차적으로 저장되어지는 점(locality)을 모태로 읽기 연산이 발행하면, 특정한 몇몇 페이지(단지 읽기의 단위를 표현하고 싶었다.)를 미리 같이 읽어 버리는 기법을 말한다. 즉, 여기에서는 버퍼에 7번 페이지를 읽어달라고 요청이 오면, 8번 페이지도 곧 읽기 요청이 올것이라고 예상하고, 미리 7번 8번 페이지를 같이 읽어들이는 기법을 말한다.
이는, 8번이 될 수도 있고, 8~n번 페이지를 모두 동시에 읽을 수도 있으며, 이는 여러 알고리즘 기법에 따라 다르다.
그리고, 꼭 8번이 되지 않을 수도 있으며, 임의(random)의 한 페이지을 미리 읽는 기법도 있으니, 참고하기 바란다. (위에 보니 나와있다... 헐... 미리 다 읽고 써야겠다.)
[펌] Mysql에서 error while loading shared libraries: libmysqlclient.so.XX 에러 발생시 (0) | 2007.09.04 |
---|---|
[바람이] sysbench-0.4.8 (0) | 2007.09.03 |
[펌] MySql Storage Engines (0) | 2007.07.11 |
[바람이] MySql 5.0.37 Windows Source 설치 조건 (0) | 2007.07.02 |
[펌] MySQL 소스 인스톨 완전해부 (0) | 2007.07.02 |
[펌] 대용량 파일 자르기 (0) | 2007.08.22 |
---|---|
[바람이] .vimrc에서 syntax on이 적용되지 않을 때 (0) | 2007.08.22 |
[바람이] vi 사용법 정리 (0) | 2007.08.01 |
[펌] gcc 명령어 (0) | 2007.07.26 |
[바람이] Fedora Core 4에서 vsftpd 업로드 설정하기 (0) | 2007.07.25 |