mysql 数据查询优化

mysql 数据库中 data函数是取出年月如

SELECT shop_name ,date(create_date) FROM `customer_basic_info` WHERE create_date>='2019-05-06 17:46:43' LIMIT 0,5

查询出来的 create_date就只是 2019-05-06

比如取出表中数据 从6行开始取10个

SELECT * FROM `customer_basic_info` LIMIT 5,10   耗时 0.378s

优化

SELECT * FROM `customer_basic_info` a JOIN(
SELECT id FROM `customer_basic_info` ORDER BY id LIMIT 5,10) b on a.id=b.id  耗时0.247s

 

原理:因为id为主键有索引取出来快,然后再根据取出来的id内联从而提高查询效率

注意:

SELECT id FROM `customer_basic_info` LIMIT 5,10

SELECT id,shop_name FROM `customer_basic_info` LIMIT 5,10

查询出来结果不一样

主要是排序问题,所以我们添加order by

SELECT id FROM `customer_basic_info` ORDER BY id LIMIT 5,10

SELECT id,shop_name FROM `customer_basic_info` LIMIT 5,10

ok

所以优化的时候我也加了根据id 排序

参考:https://www.cnblogs.com/shuo1208/p/9645031.html

posted @ 2019-06-28 00:01  Angry-rookie  阅读(76)  评论(0)    收藏  举报