gpt4 book ai didi

mysql - 如何启用 mysql 对我的表使用索引

转载 作者:行者123 更新时间:2023-11-29 18:03:12 26 4
gpt4 key购买 nike

CREATE TABLE `sqq_merchant`.`other_coupon_order` (
`id` int NOT NULL AUTO_INCREMENT ,
`tenant_id` varchar(32) NOT NULL ,
`store_id` varchar(64) NOT NULL ,
`order_no` varchar(64) NOT NULL ,
`out_order_no` varchar(64) NOT NULL ,
`total_fee` integer NOT NULL DEFAULT 0 ,
`other_coupon_fee` integer NOT NULL DEFAULT 0 ,
`act_total_fee` integer NOT NULL DEFAULT 0 ,
`pay_method` tinyint(4) NOT NULL DEFAULT 0 ,
`trade_time` datetime NOT NULL ,
`create_time` datetime NOT NULL ,
`update_time` datetime NOT NULL ,
PRIMARY KEY (`id`),
INDEX `tenant_store_id` (`tenant_id`, `store_id`) USING BTREE ,
UNIQUE INDEX `order_no` (`order_no`) USING BTREE
);

我想查询定义的租户、定义的商店和定义的交易时间范围的订单,例如:

select * from other_coupon_order where tenant_id = '9001' and store_id = '1151610006' and 
trade_time > '2018-01-08 00:00:00' AND trade_time < '2018-01-08 23:59:59'

当我对这个sql使用explain时,我发现类型是All,性能很差,我该如何改进sql

这是用于解释的sql性能图

enter image description here

最佳答案

您可以尝试将 trade_time 添加到复合索引中,如 (tenant_id, store_id, trade_time)

 INDEX my_indx_name  (tenant_id, store_id, trade_time)

关于mysql - 如何启用 mysql 对我的表使用索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48145634/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com