diff --git a/classes/db/DBMysql.class.php b/classes/db/DBMysql.class.php index 7ec19b22c..8bc7ab0e6 100644 --- a/classes/db/DBMysql.class.php +++ b/classes/db/DBMysql.class.php @@ -177,11 +177,13 @@ * @brief 1씩 증가되는 sequence값을 return (mysql의 auto_increment는 sequence테이블에서만 사용) **/ function getNextSequence() { - $query = sprintf("insert into `%ssequence` (seq) values ('')", $this->prefix); + $query = sprintf("insert into `%ssequence` (seq) values ('0')", $this->prefix); $this->_query($query); $sequence = mysql_insert_id(); - $query = sprintf("delete from `%ssequence` where seq < %d", $this->prefix, $sequence); - $this->_query($query); + if($seqnece % 10000 == 0) { + $query = sprintf("delete from `%ssequence` where seq < %d", $this->prefix, $sequence); + $this->_query($query); + } return $sequence; } diff --git a/classes/db/DBMysql_innodb.class.php b/classes/db/DBMysql_innodb.class.php index 0c6dc539e..1acba1805 100644 --- a/classes/db/DBMysql_innodb.class.php +++ b/classes/db/DBMysql_innodb.class.php @@ -186,11 +186,13 @@ * @brief 1씩 증가되는 sequence값을 return (mysql의 auto_increment는 sequence테이블에서만 사용) **/ function getNextSequence() { - $query = sprintf("insert into `%ssequence` (seq) values ('')", $this->prefix); + $query = sprintf("insert into `%ssequence` (seq) values ('0')", $this->prefix); $this->_query($query); $sequence = mysql_insert_id(); - $query = sprintf("delete from `%ssequence` where seq < %d", $this->prefix, $sequence); - $this->_query($query); + if($seqnece % 10000 == 0) { + $query = sprintf("delete from `%ssequence` where seq < %d", $this->prefix, $sequence); + $this->_query($query); + } return $sequence; } diff --git a/classes/db/DBSqlite2.class.php b/classes/db/DBSqlite2.class.php index 0f4f1d227..d0e7dda18 100644 --- a/classes/db/DBSqlite2.class.php +++ b/classes/db/DBSqlite2.class.php @@ -175,8 +175,10 @@ $query = sprintf("insert into %ssequence (seq) values ('')", $this->prefix); $this->_query($query); $sequence = sqlite_last_insert_rowid($this->fd); - $query = sprintf("delete from %ssequence where seq < %d", $this->prefix, $sequence); - $this->_query($query); + if($seqnece % 10000 == 0) { + $query = sprintf("delete from %ssequence where seq < %d", $this->prefix, $sequence); + $this->_query($query); + } return $sequence; } diff --git a/classes/db/DBSqlite3_pdo.class.php b/classes/db/DBSqlite3_pdo.class.php index e831a13d2..9a1d37a0f 100644 --- a/classes/db/DBSqlite3_pdo.class.php +++ b/classes/db/DBSqlite3_pdo.class.php @@ -196,9 +196,11 @@ $this->_prepare($query); $result = $this->_execute(); $sequence = $this->handler->lastInsertId(); - $query = sprintf("delete from %ssequence where seq < %d", $this->prefix, $sequence); - $this->_prepare($query); - $result = $this->_execute(); + if($seqnece % 10000 == 0) { + $query = sprintf("delete from %ssequence where seq < %d", $this->prefix, $sequence); + $this->_prepare($query); + $result = $this->_execute(); + } return $sequence; }