mysql连接查询慢_Mysql数据库某个表连接查询很慢,如何优化?

两个表连接查询很慢,但是如果单查一个表则很快,或者连接查询其他的表也很快。

查询语句(大约半秒的查询时间):

SELECT * FROM member m LEFT JOIN gift g ON g.mid = m.id WHERE m.status = 0 AND m.wid = 236 ORDER BY m.id DESC LIMIT 0,20

member表结构(约40000条数据):

CREATE TABLE `member` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`wid` int(11) NOT NULL,

`wxid` varchar(30) DEFAULT NULL,

`wid_wxid` varchar(30) DEFAULT NULL,

`cpai` varchar(32) NOT NULL,

`name` varchar(20) DEFAULT NULL,

`sex` varchar(10) DEFAULT NULL,

`tel` varchar(11) DEFAULT NULL,

`lxtel` varchar(11) DEFAULT NULL,

`xingge` varchar(10) DEFAULT NULL,

`qq` int(11) DEFAULT NULL,

`birthday` varchar(12) DEFAULT NULL,

`cartype` varchar(20) DEFAULT NULL,

`carclass` varchar(20) DEFAULT NULL,

`bxtime` varchar(20) DEFAULT '0.00',

`next_bxtime` varchar(20) DEFAULT '0.00',

`bytime` varchar(20) DEFAULT '0.00',

`next_bytime` varchar(20) DEFAULT '0.00',

`bylong` varchar(20) DEFAULT '0.00',

`next_bylong` varchar(20) DEFAULT '0.00',

`engine` varchar(50) DEFAULT NULL,

`chejia` varchar(50) DEFAULT NULL,

`danganhao` varchar(30) DEFAULT NULL,

`buy_date` varchar(20) DEFAULT NULL,

`first_date` varchar(20) DEFAULT NULL,

`weixiu_times` tinyint(4) DEFAULT NULL,

`weixiu_money` decimal(8,2) DEFAULT NULL,

`last_date` varchar(20) DEFAULT NULL,

`last_jieche` varchar(50) DEFAULT NULL,

`cpai_register` varchar(20) DEFAULT NULL,

`identify_number` varchar(20) DEFAULT NULL,

`order_number` varchar(20) DEFAULT NULL,

`sale_date` varchar(20) DEFAULT NULL,

`carkilometre` int(11) DEFAULT '0',

`address` varchar(32) DEFAULT NULL,

`remark` varchar(32) DEFAULT NULL,

`is_check` int(11) DEFAULT '0',

`password` char(6) DEFAULT NULL,

`salt` char(32) DEFAULT NULL,

`pay_password` char(32) DEFAULT NULL,

`pay_salt` char(6) DEFAULT NULL,

`status` tinyint(4) DEFAULT '0',

`time` varchar(24) NOT NULL,

`headimgurl` varchar(200) DEFAULT NULL,

`nickname` varchar(32) DEFAULT NULL,

`isattention` tinyint(4) DEFAULT '0',

`paid_price` decimal(8,2) DEFAULT '0.00',

`source` int(11) DEFAULT NULL,

`add_date` datetime DEFAULT NULL,

`add_by` varchar(30) DEFAULT '',

`update_date` datetime DEFAULT NULL,

`update_by` varchar(30) DEFAULT '',

PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=59151 DEFAULT CHARSET=utf8;

gift表结构(约4000条数据):

CREATE TABLE `member_giftamount` (

`id` int(16) NOT NULL AUTO_INCREMENT,

`wid` int(32) NOT NULL,

`mid` int(11) NOT NULL,

`auth_wid` int(11) DEFAULT NULL,

`wxid` varchar(64) DEFAULT NULL,

`tel` varchar(30) DEFAULT NULL,

`amount` decimal(8,2) DEFAULT '0.00',

`gift_amount` decimal(8,2) DEFAULT '0.00',

`refund_amount` decimal(8,2) DEFAULT '0.00',

`credits` int(11) DEFAULT '0',

`total` decimal(8,2) DEFAULT '0.00',

`market_total` decimal(8,2) DEFAULT '0.00',

`wid_wxid` varchar(64) DEFAULT NULL,

`wait_total` decimal(8,2) DEFAULT '0.00',

`add_date` datetime DEFAULT NULL,

`add_by` varchar(30) DEFAULT NULL,

`update_date` datetime DEFAULT NULL,

`update_by` varchar(30) DEFAULT NULL,

`sign_days` int(11) NOT NULL DEFAULT '0',

PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=4254 DEFAULT CHARSET=utf8;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值