使用sum很慢的问题

a21768541 a21768541 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
各位,我现在有一个数据库

CREATE TABLE `wallet_change`  (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`created_at` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_at` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP,
`version` bigint(20) NOT NULL DEFAULT 0,
`changed_amount` bigint(20) NULL DEFAULT 0,
`description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`last_amount` bigint(20) NULL DEFAULT 0,
`payment` bigint(20) NULL DEFAULT 0,
`type` int(11) NULL DEFAULT NULL,
`wallet` bigint(20) NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE,
INDEX `FK_ad1017e22d7c4817b0b4511470e`(`payment`) USING BTREE,
INDEX `FK_5ced2321ddd04917b6acd6fc5c6`(`type`) USING BTREE,
INDEX `FK_fa6d9c980f1d4146bd3571a8274`(`wallet`) USING BTREE,
INDEX `index_created_at`(`created_at`) USING BTREE,
INDEX `index_changed_amount`(`changed_amount`) USING BTREE,
CONSTRAINT `wallet_change_ibfk_1` FOREIGN KEY (`commission`) REFERENCES `commissions` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `wallet_change_ibfk_2` FOREIGN KEY (`type`) REFERENCES `wallet_change_type` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `wallet_change_ibfk_3` FOREIGN KEY (`wallet`) REFERENCES `wallets` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `wallet_change_ibfk_4` FOREIGN KEY (`order`) REFERENCES `orders` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 5588657 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;



现在我需要求出某几种类型的总金额,

SELECT SUM(wh.changed_amount) AS totlaAmount
FROM wallet_change wh
WHERE wh.type IN(31,32,33,34,35,36,37,38,39,7,40,41,42,43) AND wallet =123

整个表数据量大概有500W,速度很慢.. 大概要40秒左右。
请问怎么优化呐
...全文

相关推荐

MySQL中的SUM函数使用教程

MySQL的SUM函数是用来找出记录中各种的字段的总和。 要了解SUM函数考虑EMPLOYEE_TBL表具有以下记录: mysql> SELECT * FROM employee_tbl; +------+------+------------+--------------------+ | id | name | work_date | daily_typing_pages | +------+------+------------+--------------------+ | 1 | John | 2007-01-24 | 250 | | 2 | Ram | 200

weixin_38568548

mysql踩坑之limit与sum函数混合使用问题详解

前言 今天同事在同步完订单数据后,由于订单总金额和数据源的总金额存在差异,选择使用LIMIT和SUM()函数计算当前分页的总金额来和对方比较特定订单的总金额,却发现计算出来的金额并不是分页的订单总金额,而是所有订单的总金额。 数据库版本为mysql 5.7,下面会用一个示例复盘遇到的问题。 问题复盘 本次复盘会用一个很简单的订单表作为示例。 数据准备 订单表建表语句如下(这里偷懒了,使用了自增ID,实际开发中不建议使用自增ID作为订单ID) CREATE TABLE `order` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '订单I

weixin_38578242

MYSQL中有关SUM字段按条件统计使用IF函数(case)问题

MYSQL中SUM字段按条件统计使用IF函数,具体实现代码如下,感兴趣的朋友不要错过

weixin_38657290

对python中矩阵相加函数sum()的使用详解

今天小编就为大家分享一篇对python中矩阵相加函数sum()的使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

weixin_38670983

python数组双指针算法求和问题LeetCode2sum3sum4sum含代码

双指针算法,python数组双指针算法求和问题LeetCode2sum3sum4sum含代码

zz_ll9023
评论 9
收藏 已收藏
分享
返回顶部
a21768541
MySQL 57,062 成员 56,759 内容