百万级别limit的优化,该怎么解决

百万级别limit的优化

需要写一个脚本去取test表的数据 数据量为一百三十多万条数据 用php分批次执行 像这样一次执行一万条 但是还是很慢啊 有什么更好的办法优化一下吗 这个脚本只要一执行 cpu占用率立马飙到30% 以下是sql语句 

SELECT * FROM gt_long_keywords WHERE is_pin = 0 LIMIT 0,10000

SELECT * FROM gt_long_keywords WHERE is_pin = 0 LIMIT 10000,10000

SELECT * FROM gt_long_keywords WHERE is_pin = 0 LIMIT 20000,10000

SELECT * FROM gt_long_keywords WHERE is_pin = 0 LIMIT 30000,10000

SELECT * FROM gt_long_keywords WHERE is_pin = 0 LIMIT 40000,10000

SELECT * FROM gt_long_keywords WHERE is_pin = 0 LIMIT 50000,10000

SELECT * FROM gt_long_keywords WHERE is_pin = 0 LIMIT 60000,10000

SELECT * FROM gt_long_keywords WHERE is_pin = 0 LIMIT 70000,10000

SELECT * FROM gt_long_keywords WHERE is_pin = 0 LIMIT 80000,10000

SELECT * FROM gt_long_keywords WHERE is_pin = 0 LIMIT 90000,10000

SELECT * FROM gt_long_keywords WHERE is_pin = 0 LIMIT 100000,10000

求指教




gt_long_keywords 表的主键是什么? 你期望的排序字段是什么?




这样load大批量数据是供前台缓存吧




select a.* from gt_long_keywords a inner join (

select id from gt_long_keywords where is_pin order by id limit 100000,10000

) b on a.id=b.id




或者预先把0得放到一张表里 然后去load这张表




可以使用线程+循环

百万级别limit的优化,该怎么解决

相关文章:

你感兴趣的文章:

标签云: