Mysql Query没有提供良好的性能

时间:2015-08-14 18:28:01

标签: mysql sql performance

我在MySQL中有一个相当简单的查询,但执行大约需要170分钟。

有人可以帮我吗?我厌倦了在各种键上应用索引但没有任何好处。

Update
    H20_AUDIENCE_ADDRESS_LOG L
Join
    TEMP_V_3064446579 T
Using
    ( ZS_AUDIENCE_ID, ZS_SOURCE_OBJECT_ID, ZS_ADDRESS_TYPE_ID )
Set 
    ZS_ACTIVE_PERIOD_END_DT = '2015-08-14 15:05:48', 
    ZS_IS_ACTIVE_PERIOD = False 
Where 
    ZS_IS_ACTIVE_PERIOD = True 
And 
    L.ZS_ADDRESS_ID <> T.ZS_ADDRESS_ID 
And 
    T.ZS_SOURCE_TIMESTAMP > L.ZS_SOURCE_TIMESTAMP;

创建:

CREATE TABLE `H20_AUDIENCE_ADDRESS_LOG` (
  `ZS_AUDIENCE_ADDRESS_LOG_ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `ZS_AUDIENCE_ID` bigint(20) unsigned NOT NULL,
  `ZS_SOURCE_OBJECT_ID` int(10) unsigned NOT NULL,
  `ZS_INSERT_DT` datetime NOT NULL,
  `ZS_ADDRESS_TYPE_ID` tinyint(3) unsigned NOT NULL,
  `ZS_ADDRESS_ID` bigint(20) unsigned NOT NULL,
  `ZS_SOURCE_TIMESTAMP` datetime NOT NULL,
  `ZS_ACTIVE_PERIOD_START_DT` datetime DEFAULT NULL,
  `ZS_ACTIVE_PERIOD_END_DT` datetime DEFAULT NULL,
  `ZS_IS_ACTIVE_PERIOD` bit(1) DEFAULT NULL,
  `ZS_ACTIVE_PRIORITY_PERIOD_START_DT` datetime DEFAULT NULL,
  `ZS_ACTIVE_PRIORITY_PERIOD_END_DT` datetime DEFAULT NULL,
  `ZS_IS_ACTIVE_PRIORITY_PERIOD` bit(1) DEFAULT NULL,
  PRIMARY KEY (`ZS_AUDIENCE_ADDRESS_LOG_ID`),
  KEY `IX_H20_AUDIENCE_ADDRESS_LOG` (`ZS_AUDIENCE_ID`,`ZS_SOURCE_OBJECT_ID`,`ZS_ADDRESS_TYPE_ID`,`ZS_ADDRESS_ID`),
  KEY `IX_ADDRESS_ID` (`ZS_ADDRESS_ID`,`ZS_IS_ACTIVE_PERIOD`)
) ENGINE=InnoDB AUTO_INCREMENT=22920801 DEFAULT CHARSET=utf8;




CREATE TABLE `TEMP_V_3064446579` (
  `ZS_AUDIENCE_ID` bigint(20) unsigned NOT NULL,
  `ZS_SOURCE_OBJECT_ID` int(10) unsigned NOT NULL,
  `ZS_ADDRESS_TYPE_ID` tinyint(3) unsigned NOT NULL,
  `ZS_ADDRESS_ID` bigint(20) unsigned NOT NULL,
  `ZS_SOURCE_TIMESTAMP` datetime NOT NULL,
  UNIQUE KEY `IX_TEMP_V_3064446579` (`ZS_AUDIENCE_ID`,`ZS_SOURCE_OBJECT_ID`,`ZS_ADDRESS_TYPE_ID`,`ZS_ADDRESS_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

这两个表大约有3米记录

0 个答案:

没有答案