环境:mysql 5.7.18
如图所示,我的表结构只有四个字段,DDL如下:
CREATE TABLE `rn_data20170316` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`traffictype` varchar(10) DEFAULT NULL,
`lng` double DEFAULT NULL,
`lat` double DEFAULT NULL,
`instationnum` int(10) DEFAULT NULL,
`outstationnum` int(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=983026 DEFAULT CHARSET=utf8
该表一共 975960 条数据,
在mysql cmd中执行 'select * from table' 返回结果 1.34秒
但是当我在pymysql中使用同样的语句
cursor.execute("select * from table ;")
返回结果时间竟然长达14秒!!!!
这应该已经是最简单的sql语句了,为什么这么慢?
你的时间应该大部分都消耗在了传输上,一次性取出这么多数据也是不明智的,sql语句并不是越简单越快,是检索的数据越少才越快,注意检索的数据和取出的数据概念是不一样的