mirror of
https://github.com/ctripcorp/zeus.git
synced 2024-09-21 08:06:08 +08:00
optimize dist-lock table layout
This commit is contained in:
parent
4c012ce915
commit
2d1013792e
|
@ -616,13 +616,15 @@
|
|||
</query-defs>
|
||||
</entity>
|
||||
<entity name="dist-lock" table="dist_lock" alias="dl">
|
||||
<member name="lock-key" field="lock_key" value-type="String" length="255" nullable="false" key="true" />
|
||||
<member name="id" field="id" value-type="long" length="19" nullable="false" key="true" auto-increment="true" />
|
||||
<member name="lock-key" field="lock_key" value-type="String" length="255" nullable="false" />
|
||||
<member name="owner" field="owner" value-type="long" length="19" />
|
||||
<member name="server" field="server" value-type="String" length="50" />
|
||||
<member name="created-time" field="created_time" value-type="long" length="19" />
|
||||
<member name="data-change-last-time" field="DataChange_LastTime" value-type="Date" nullable="false" />
|
||||
<var name="key-lock-key" value-type="String" key-member="lock-key" />
|
||||
<primary-key name="PRIMARY" members="lock_key" />
|
||||
<var name="key-id" value-type="long" key-member="id" />
|
||||
<primary-key name="PRIMARY" members="id" />
|
||||
<index name="lock_key" unique="true" members="lock_key ASC" />
|
||||
<index name="idx_DataChange_LastTime" members="DataChange_LastTime ASC" />
|
||||
<readsets>
|
||||
<readset name="FULL" all="true" />
|
||||
|
@ -632,25 +634,25 @@
|
|||
</updatesets>
|
||||
<query-defs>
|
||||
<query name="find-by-PK" type="SELECT">
|
||||
<param name="key-lock-key" />
|
||||
<param name="key-id" />
|
||||
<statement><![CDATA[SELECT <FIELDS/>
|
||||
FROM <TABLE/>
|
||||
WHERE <FIELD name='lock-key'/> = ${key-lock-key}]]></statement>
|
||||
WHERE <FIELD name='id'/> = ${key-id}]]></statement>
|
||||
</query>
|
||||
<query name="insert" type="INSERT">
|
||||
<statement><![CDATA[INSERT INTO <TABLE/>(<FIELDS/>)
|
||||
VALUES(<VALUES/>)]]></statement>
|
||||
</query>
|
||||
<query name="update-by-PK" type="UPDATE">
|
||||
<param name="key-lock-key" />
|
||||
<param name="key-id" />
|
||||
<statement><![CDATA[UPDATE <TABLE/>
|
||||
SET <FIELDS/>
|
||||
WHERE <FIELD name='lock-key'/> = ${key-lock-key}]]></statement>
|
||||
WHERE <FIELD name='id'/> = ${key-id}]]></statement>
|
||||
</query>
|
||||
<query name="delete-by-PK" type="DELETE">
|
||||
<param name="key-lock-key" />
|
||||
<param name="key-id" />
|
||||
<statement><![CDATA[DELETE FROM <TABLE/>
|
||||
WHERE <FIELD name='lock-key'/> = ${key-lock-key}]]></statement>
|
||||
WHERE <FIELD name='id'/> = ${key-id}]]></statement>
|
||||
</query>
|
||||
</query-defs>
|
||||
</entity>
|
||||
|
|
|
@ -254,14 +254,16 @@ CREATE TABLE IF NOT EXISTS `conf_slb_active` (
|
|||
|
||||
-- Dumping structure for table dist_lock
|
||||
DROP TABLE IF EXISTS `dist_lock`;
|
||||
CREATE TABLE IF NOT EXISTS `dist_lock` (
|
||||
`lock_key` varchar(255) NOT NULL DEFAULT 'UNKNOWN' COMMENT 'lock key',
|
||||
`owner` bigint(20) DEFAULT '0' COMMENT 'thread id',
|
||||
`server` varchar(50) DEFAULT '0' COMMENT 'server ip',
|
||||
`created_time` bigint(20) DEFAULT NULL COMMENT 'create time',
|
||||
`DataChange_LastTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'update time',
|
||||
PRIMARY KEY (`lock_key`),
|
||||
KEY `idx_DataChange_LastTime` (`DataChange_LastTime`)
|
||||
CREATE TABLE `dist_lock` (
|
||||
`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT 'primary key',
|
||||
`lock_key` VARCHAR(255) NOT NULL DEFAULT 'UNKNOWN' COMMENT 'lock key',
|
||||
`owner` BIGINT(20) NULL DEFAULT '0' COMMENT 'thread id',
|
||||
`server` VARCHAR(50) NULL DEFAULT '0' COMMENT 'server ip',
|
||||
`created_time` BIGINT(20) NULL DEFAULT NULL COMMENT 'create time',
|
||||
`DataChange_LastTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'update time',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE INDEX `lock_key` (`lock_key`),
|
||||
INDEX `idx_DataChange_LastTime` (`DataChange_LastTime`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='distribution lock';
|
||||
|
||||
-- Data exporting was unselected.
|
||||
|
|
Loading…
Reference in a new issue