MySQL Lead优化

时间:2019-01-11 13:05:45

标签: mysql lead

基本上我有一个包含用户页面浏览量的表。

喜欢

flask-login

尝试通过导数函数从包含约100万条记录的表中选择行,以计算每个位置花费的时间

目前我想到的是

class User(UserMixin):
    def __init__(self, name, id, active=True):
        self.id = id
        self.name = name
        self.active = active

    def get_id(self):
        return self.id

    @property
    def is_active(self):
        return self.active

但这确实没有效率,它返回的行持续10分钟+ 因此,寻找更健壮的解决方案。

我的最终目标是对此有所帮助

CREATE TABLE `pageViews` (
  `statId` int(11) NOT NULL AUTO_INCREMENT,
  `deviceId` varchar(36) DEFAULT NULL,
  `userId` varchar(36) DEFAULT NULL,
  `sessionId` varchar(36) DEFAULT NULL,
  `actionType` varchar(45) DEFAULT NULL,
  `actionDetail` json DEFAULT NULL,
  `browser` varchar(250) DEFAULT NULL,
  `resolution` varchar(10) DEFAULT NULL,
  `language` varchar(10) DEFAULT NULL,
  `uri` varchar(250) DEFAULT NULL,
  `location` varchar(300) DEFAULT NULL,
  `initial` tinyint(4) DEFAULT NULL,
  `containerId` int(11) DEFAULT NULL,
  `stepId` int(11) DEFAULT NULL,
  `creationDate` bigint(13) DEFAULT NULL,
  `logged` tinyint(4) DEFAULT '0',
  PRIMARY KEY (`statId`),
  KEY `event_creationDate` (`sessionId`,`creationDate`),
  KEY `containerId_stepId` (`containerId`,`stepId`,`uri`),
  KEY `containerId_initial` (`containerId`,`initial`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

赞赏对索引,sql等的任何评论

0 个答案:

没有答案