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;
相关阅读:
如何终止多余 Supervisor 进程?
win10下无法访问共享文件夹
关于这种php代码加密(字符加密),原理与细节?
aes128加密一些相关问题
如何测试用HTML编写的EDM邮件?
我们官网首页在iOS 8.4 不能上下滑动,谁知道是哪里的问题啊
android游戏引擎推荐
百度UEditor在线word 上传下载是怎么实现的?
分享的页面如何使用相应的app打开
nginx根目录下php项目目录,浏览器访问报403错误
请教JQ获取img alt的属性问题。
Flask新人求问,数据库初始化在什么时候做?
我自己写个web服务器,然后想php-cgi发送数据。那与php-cgi通信的格式是什么?
在bootstrap的table中如何展示图片?
批处理修改文件内容的问题,使用awk命令
android sqlite 定时清理数据?
Python 哪个图形库在 Mac 下表现比较好?
ssh登陆服务器报错
json_encode输出
sublime text 3 ftp 必须把代码下载到本地吗?