大数据下的sql语句使用

来源:互联网 发布:同志手机聊天软件 编辑:程序博客网 时间:2024/05/16 12:42

(一) mysql limit大数据量分页优化方法

首先创建一个表 

CREATE TABLE `ipdatas` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `uid` int(8) NOT NULL DEFAULT '0',  `ipaddress` varchar(50) NOT NULL,  `source` varchar(255) DEFAULT NULL,  `track` varchar(255) DEFAULT NULL,  `entrance` varchar(255) DEFAULT NULL,  `createdtime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',  `createddate` date NOT NULL DEFAULT '0000-00-00',  PRIMARY KEY (`id`),  KEY `uid` (`uid`)) ENGINE=MyISAM AUTO_INCREMENT=68293856 DEFAULT CHARSET=utf8;


插入大量数据100万

begindeclare i int; set i = 10001 ;   myLoop: LOOP                      if i = 100000 then           leave myLoop;          end if;                    /* do something */          -- 循环输出信息 insert into `ipdatas`(`uid`,`ipaddress`,`source`,`track`,`entrance`,`createdtime`,`createddate`)values(i,'127.0.0.1','wanglitao','guoyanhui','127.0.0.1',now(),now());      set i = i +1;    /* 循环结束 */      end loop myLoop; end


优化语句 

原语句

 select * from ipdatas order by id limit 900000,100

受影响的行: 0
时间: 16.408s


优化语句

 Select * From ipdatas Where id>=( 
   Select id from ipdatas order by id limit 900000,1
    )limit 100; 



0 0
原创粉丝点击