Mysql
From Chaehyun
(Difference between revisions)
(Created page with "* mysql innodb status ** History list length 1616091 ?? == innoDB perge 관련 == * my.cnf * innodb_max_purge_lag = 8192 ** http://dev.mysql.com/doc/refman/5.0/en/inno...") |
(→innoDB perge 관련) |
||
Line 2: | Line 2: | ||
** History list length 1616091 ?? | ** History list length 1616091 ?? | ||
== innoDB perge 관련 == | == innoDB perge 관련 == | ||
+ | * innoDB 에서는 sql에 의해 row를 지우더라도, 실제 database에서 row가 즉시 물리적으로 삭제 되지 않음 | ||
+ | * 삭제를 위한 undo log record가 innodb에서 버려졌을 때, 그제서야 해당되는 row와 index rocord를 db에서 물리적으로 삭제함 | ||
+ | * 이러한 삭제 작업을 purge라고 칭함. 그리고 이 purge 작업은 굉장히 빠르고, 보통은 sql의 삭제와 동일한 time order를 가짐 | ||
* my.cnf | * my.cnf | ||
* innodb_max_purge_lag = 8192 | * innodb_max_purge_lag = 8192 | ||
Line 8: | Line 11: | ||
** 기본은 0임. (delay 없음) | ** 기본은 0임. (delay 없음) | ||
** 값이 있을 때는, ((purge_lag/innodb_max_purge_lag)×10)–5 milliseconds 만큼, insert, update, delete 작업을 delay 시킨다. | ** 값이 있을 때는, ((purge_lag/innodb_max_purge_lag)×10)–5 milliseconds 만큼, insert, update, delete 작업을 delay 시킨다. | ||
+ | * show innodb status 하면 innoDB monitor output을 볼 수 있음 | ||
+ | ** History list length 값이 바로 purge_lag의 값임 |
Revision as of 14:10, 14 June 2011
- mysql innodb status
- History list length 1616091 ??
innoDB perge 관련
- innoDB 에서는 sql에 의해 row를 지우더라도, 실제 database에서 row가 즉시 물리적으로 삭제 되지 않음
- 삭제를 위한 undo log record가 innodb에서 버려졌을 때, 그제서야 해당되는 row와 index rocord를 db에서 물리적으로 삭제함
- 이러한 삭제 작업을 purge라고 칭함. 그리고 이 purge 작업은 굉장히 빠르고, 보통은 sql의 삭제와 동일한 time order를 가짐
- my.cnf
- innodb_max_purge_lag = 8192
- http://dev.mysql.com/doc/refman/5.0/en/innodb-parameters.html
- purge 작업이 지체되었을 때, 얼마나 기다릴 것인지 조절하는 설정
- 기본은 0임. (delay 없음)
- 값이 있을 때는, ((purge_lag/innodb_max_purge_lag)×10)–5 milliseconds 만큼, insert, update, delete 작업을 delay 시킨다.
- show innodb status 하면 innoDB monitor output을 볼 수 있음
- History list length 값이 바로 purge_lag의 값임