奇葩mysql查询缓慢问题

imnpc 发布于 2015/10/29 08:04
阅读 550
收藏 0
故障详情:在订单表加入了查询微信绑定ID和微信图片的查询 点开页面的时候非常缓存 数据库已经清理优化过 依然是很卡 但是单独的微信用户信息页面是一点不卡的 最后去掉了联合查询的微信表就没问题了 查询代码如下:
/* 查询 */
        $sql = "SELECT wx.*,o.order_id, o.order_sn, o.add_time, o.order_status, o.shipping_status, o.order_amount, o.money_paid," .
                    "o.pay_status, o.consignee, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .
                    "(" . order_amount_field('o.') . ") AS total_fee, " .
                    "IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer ".
                " FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .
                " LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ".
                " LEFT JOIN wxch_user wx ON u.wxid = wx.wxid ".  $where .
                " ORDER BY $filter[sort_by] $filter[sort_order] ".
                " LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";
加载中
0
pleatu
pleatu

1.检查微信表的数据量

2.wxid的数据类型是否一致,是否添加索引

3.微信表优化,碎片清理等等。

0
54mark
54mark
explain 看看查询语句呗。
0
mia0x75
mia0x75
奇葩的拼接
0
Jack_Q
Jack_Q
explain 分析下。建立索引。
0
fly2xiang
fly2xiang
数据量,建表语句,EXPLAIN 都没给出,怎么看?
0
Tuesday
Tuesday

引用来自“fly2xiang”的评论

数据量,建表语句,EXPLAIN 都没给出,怎么看?
他要懂EXPLAIN , sqlyog的话, 就不会在这问了. 
0
杀丶破狼
杀丶破狼

优化sql语句,建立相关索引;

还有能不能页面加载后再查询数据呢?

0
imnpc
imnpc

感谢楼上各位的回复

这是一个二次开发的程序 ecshop + ectouch 的 

我看了下   wxch_user 居然没有建立索引

好像是68ecshop以前开发的  加了索引 wxid   nickname headimgurl  就正常了

0
imnpc
imnpc

引用来自“君子常当当”的评论

wx.*?

LEFT JOIN wxch_user wx ON u.wxid = wx.wxid

应该是   LEFT JOIN wxch_user AS wx ON u.wxid = wx.wxid



返回顶部
顶部