2020-05-12
请问带时间字段的慢sql怎么优化
本帖最后由 czxin788 于 2020-5-12 15:03 编辑 explain SELECT -> id, -> customer_id, -> send_customer_id, -> send_customer_name, -> send_site_id, -> message_type, -> op_type, -> ref_type, -> ref_id, -> ref_review_id, -> message_name, -> message_body, -> create_time, -> read_time, -> is_read, -> read_site_id, -> is_remind, -> sort_id, -> is_valid, -> resource_type, -> ios_send_time, -> android_send_time, -> wx_send_time, -> notify_config_id, -> message_src_time, -> is_permit, -> page_storage_path, -> web_storage_path, -> app_storage_parh -> FROM customer_message -> WHERE 1=1 -> and op_type in -> ( -> '121' -> , -> '123' -> ) -> and create_time >= '2018-05-17 15:35:46.0' -> limit 0, 9223372036854775807; +----+-------------+------------------+------------+------+----------------+------+---------+------+---------+----------+-------------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | +----+-------------+------------------+------------+------+----------------+------+---------+------+---------+----------+-------------+ | 1 | SIMPLE | customer_message | NULL | ALL | idx_createtime | NULL | NULL | NULL | 1536673 | 10.00 | Using where | +----+-------------+------------------+------------+------+----------------+------+---------+------+---------+----------+-------------+ 1 row in set, 1 warning (0.00 sec) show index from customer_message; +------------------+------------+---------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | +------------------+------------+---------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | customer_message | 0 | PRIMARY | 1 | id | A | 1475167 | NULL | NULL | | BTREE | | | | customer_message | 1 | idx_createtime | 1 | create_time | A | 714707 | NULL | NULL | YES | BTREE | | | | customer_message | 1 | idx_customer_ref_id_multi | 1 | customer_id | A | 125866 | NULL | NULL | YES | BTREE | | | | customer_message | 1 | idx_customer_ref_id_multi | 2 | ref_id | A | 752687 | NULL | NULL | YES | BTREE | | | +------------------+------------+---------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ 4 rows in set (0.00 sec) select count(distinct op_type) from customer_message; +-------------------------+ | count(distinct op_type) | +-------------------------+ | 76 | +-------------------------+ 1 row in set (0.88 sec) 请问,上面的慢sql应该怎么优化好呢
复制
我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
回答交流
Markdown
请输入正文
提交
相关推荐
mysql8 datetime字段不能插入空值,有什么办法解决吗?
回答 1
select@@sqlmode看有没有 NOZEROINDATE,NOZERODATE 有的话把那串字符串copy 出来 删除上面两项。然后再SETGLOBAL
MySQL参数wait_timeout和interactive_timeout的作用和区别是什么?
回答 1
已采纳
interactivetimeout表示MySQL服务器关闭交互式连接前等待活动的秒数,waittimeout表示MysQL服务器关闭非交互连接之前等待活动的秒数。这二个参数的默认值都是28800秒。
mysql如何判断一个表中是否有数据?
回答 1
select一下
MySQL 漏洞处理版本升级到最新小版本,还有漏洞, 是不是必须打补丁?
回答 2
已采纳
不一定,这个东西还是要做具体分析的,漏洞肯定是都有的,但是危害程度有大有小,我们一般是遵照以下准则:a、 对于致命级别的安全漏洞补丁,应立即更新;b、对于bug修复类补丁,若涉及
default-character-set 在8.0中默认是utf8mb4,在5.7中对应的功能相同的参数是什么?
回答 1
[client]port7306defaultcharactersetutf8mb4 客户端默认字符集[mysqld]port7306charactersetserverutf8mb4&nb
digest,dumpslow工具如何分析一个时间段的慢日志??
回答 1
在MySQL中,可以使用 ptquerydigest 和 mysqldumpslow 工具来分析特定时间段的慢查询日志。以下是具体步骤:一、使用 pt
MySQL最近是否有发布过重大安全漏洞升级通知, 除了从Release notes看 ,还可以在那里查看?
回答 2
已采纳
oracle每季度会发布有关安全的CriticalPatchUpdateshttps://www.oracle.com/securityalerts/
mysql position会在什么情况下丢失?
回答 1
MySQLPOSITION()函数可以在字符串中查找一个子字符串的位置。如果无法在原始字符串中查找到子字符串,则返回0。至于为什么会丢失位置,这取决于您的具体情况。例如,如果您的MySQL服务器出现故
mysql数据库update操作的疑问
回答 1
当Oracle表被重命名后,原表上的执行计划不会自动失效。但是,如果你在重命名后的表上创建了新的索引或者修改了表结构,那么原来的执行计划可能会跑偏。如果原表上已经固化了执行计划,那么在重命名后的表上执
MySQL Innodb存储引擎存储引擎状态报告中spin为什么会持续占用cpu?
回答 1
MySQL使用了自旋锁(spinlock),它本质上是一个非阻塞锁,也就是说,如果某线程需要获取锁,但该锁已经被其他线程占用时,该线程不会被挂起,而是在不断的消耗CPU的时间,不停的试图获取锁。频繁的