最近在工作中,进行大量的数据处理,使用的是mysql5.7.22,发现当数据量级达到几十万之后,SQL执行速度明显变慢。尤其是当多个表join时,于是就尝试用python pandas进行数据处理,发现运行速度明显比SQL运行速度快。于是,决定比较一下千万数据量级之下,SQL、pandas、shell在数据处理上的优劣势。
配置:ubuntu系统64位,8G内存,intel i7处理器
软件环境:mysql5.7.22 , python3下的pandas , shell
测试数据:
数据是使用python随机生成的,订单表的时间跨度是2015年-2018年,共计2000万行,csv文件大小是909M;用户表共计500万行,csv文件大小是284M。
表1:订单表 orderid、ordertime、uid、amount、status
表2:用户表 uid、gender、birthday、mobile、email
使用shell、pandas的话,直接访问,两个表的csv文件,逗号分隔符;mysql的话,将数据先导入到数据库。
一、单表查询 mysql PK shell
1、计数