mysql - 优化 SQL 查询“SELECT”
问题描述
如何优化此查询
SELECT count(*) FROM chats WHERE removeAt = 0
SELECT count(*) FROM messages WHERE removeAt = 0
SELECT count(*) FROM messages WHERE chatId = (:chatId) AND removeAt = 0
SELECT count(*) FROM chats WHERE (fromUserId = (:userId) OR toUserId = (:userId)) AND removeAt = 0
我那个查询的 QPS 大约 1200
解决方案
这一次获得 2 个值。因此,速度加倍。
SELECT COUNT(*) AS not_removed,
SUM(chatId = (:chatId)) AS that_id
FROM chats
WHERE removeAt = 0;
推荐阅读
- java - 存储多个点(浮点数,浮点数)的最佳方法是什么?
- javascript - reactjs - 如何在没有提交按钮的情况下上传文件
- javascript - 执行路由更改功能(使用 HookRouter )
- python - 我的 python 代码没有返回值。请查看代码
- amazon-web-services - Terraform 路由表与 VPC 端点的关联
- c++ - 如何强制使用库的应用程序在 Windows 上包含特定的应用程序清单设置
- flutter - 错误:'Iterable 类型的值
' 不能从返回类型为 'List 的函数返回 ?'。显示此错误 - angular - 无法使用具有角材料的角库编译项目
- javascript - Blogger的JS函数代码中如何调整缩略图的默认分辨率?
- python - 如何在 DFA 类中定义增量?