您的位置:首页 > 数据库 > MySQL

关于MySQL的limit优化

2017-06-08 10:21 344 查看

对于MySQL的limit优化

正常的写法是什么什么一大堆然后limit 11111,10来进行分类,在优化的时候改写了这么一段代码

经过改写的sql语句

这里把limit换了,写成AND ic.
id
>=11111 LIMIT 10,这样的格式,那个id是表的主键。

SELECT temp.*, COUNT(hhdv.id) AS reviewHdCount
FROM (SELECT ic.id, ic.name, sd.name AS securityIndustry, n.name AS netRegion, bcdd.hd_count AS hdCount
, bcdd.hd_count1 AS majorCount, bcdd.hd_count2 AS commonCount, bcdd.expired_hd_count AS overTimeCount, bcdd.close_hd_count AS fixedCount, bcdd.open_hd_count AS noFixedCount
FROM info_company ic
LEFT JOIN sys_dict sd ON ic.security_industry_id = sd.id
LEFT JOIN info_net_region n ON n.id = ic.net_region_id
LEFT JOIN info_net_region n2 ON n2.id = ic.street_id
LEFT JOIN bs_company_data_daily bcdd ON bcdd.company_id = ic.id
AND bcdd.id IN (SELECT MAX(id)
FROM bs_company_data_daily
GROUP BY company_id)
WHERE 1 = 1
AND FIND_IN_SET(ic.security_industry_id, '3201,3206,3219,3221,3227,3236,3223,3199,3203,3204,3207,3211,3217,3218,3220,3222,3224,3233,3238,3239,3225,3200,3212,3213,3226,3228,3230,3231,3237,3229,3208,3209,3216,3234,3202,3205,3210,3214,3215,3232,3235,3201,3206,3219,3221,3227,3236,3223,3199,3203,3204,3207,3211,3217,3218,3220,3222,3224,3233,3238,3239,3225,3200,3212,3213,3226,3228,3230,3231,3237,3229,3208,3209,3216,3234,3202,3205,3210,3214,3215,3232,3235')
AND (FIND_IN_SET(1, n.path)
OR FIND_IN_SET(1, n2.path))
AND ic.`id` >=11111 LIMIT 10

) temp
LEFT JOIN hd_hidden_danger_verify hhdv ON hhdv.company_id = temp.id
GROUP BY temp.id
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: