+ -
当前位置:首页 → 问答吧 → 脚本的优化(百万级数据 求指教)

脚本的优化(百万级数据 求指教)

时间:2011-12-06

来源:互联网

需要写一个脚本去取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

求指教

作者: wolf13223850700   发布时间: 2011-12-06

先把 * 干掉,行么?

作者: ferock   发布时间: 2011-12-06

select * From gt_long_keywords Where Id>=0 limit 10000
select * From gt_long_keywords Where Id>=(select Id from gt_long_keywords order by Id limit 10000,1)limit 10000
select * From gt_long_keywords Where Id>=(select Id from gt_long_keywords order by Id limit 20000,1)limit 10000
.......
 
//还有,最好别用* 你不会真所有的都用到吧,如果表的字段太多,就分表。

作者: daxuejianku   发布时间: 2011-12-06

PHP code
// 拿最后一条示例,注意:下面的id是代表你表中的索引id,也就是主键id,最好给id和is_pin来个索引效果还不错
select * FROM gt_long_keywords WHERE is_pin = 0 and id >= (select id from gt_long_keywords where id >= 100000 and is_pin = 0 limit 1) limit 10000

作者: kyzy_yy_pm   发布时间: 2011-12-06

每次取一万条数据并不会很慢,但是显示这一万条数据就要费点时间了

作者: xuzuning   发布时间: 2011-12-06

相关阅读 更多

热门下载

更多