记录一次大量数据库查询操作

今天在公司帮产品经理处理几十个比较大的excel表格遇到了小小的波折,简单记录一下
平均一个excel就有一百多万条数据(48m左右),以下为操作步骤:

1、用navicat导入excel文件:少导入数据,有很多数据不进行导入

2、设置mysql表大小的限制参数,默认4m,这里我设置512m,仍然导入部分数据

3、excel文件转csv,成功全部导入

4、无脑写一个sql语句进行处理,好吧,很慢,慢出*

5、给字段b添加btree索引,速度可以承受了

a、b、c、d四个数据库字段,sql语句如下、

 SELECT * FROM sogou WHERE (d LIKE '%music%' OR (b LIKE '%歌%' OR b LIKE '%音乐%' OR b LIKE '%曲%'))
 AND b NOT IN
 (SELECT b FROM sogou WHERE b LIKE '%阿里巴巴%' OR b LIKE '%baidu%' OR b LIKE '%百度%'
 OR b LIKE '%彩铃%' OR b LIKE '%com%' OR b LIKE '%财务%' OR b LIKE '%财富%' OR b LIKE '%彩票%' OR b LIKE '%车%'
 OR b LIKE '%电信%' OR b LIKE '%电台%' OR b LIKE '%地址%' OR b LIKE '%大学%' OR b LIKE '%电脑%' OR b LIKE '%Google%' OR b LIKE '%谷歌%' OR b LIKE '%高考%' OR b LIKE '%格式%' OR b LIKE '%公司%'
 OR b LIKE '%肝%' OR b LIKE '%工商%' OR b LIKE '%胡歌%' OR b LIKE '%教育%' OR b LIKE '%建筑%' OR b LIKE '%ktv%' OR b LIKE '%论坛%' OR b LIKE '%mv%' OR b LIKE '%mtv%' OR b LIKE '%MP4%'  
 OR b LIKE '%MP5%' OR b LIKE '%power%' OR b LIKE '%pp%'  OR b LIKE '%腾讯%' OR b LIKE '%qq%' OR b LIKE '%器%' OR b LIKE '%全文%' OR b LIKE '%软件%' OR b LIKE '%sohu%' OR b LIKE '%搜狗%'
 OR b LIKE '%sougou%' OR b LIKE '%sogou%' OR b LIKE '%书%' OR b LIKE '%视频%' OR b LIKE '%淘宝%' OR b LIKE '%taobao%' OR b LIKE '%图%' OR b LIKE '%网%' OR b LIKE '%www%' OR b LIKE '%word%'
 OR b LIKE '%显卡%' OR b LIKE '%小学%' OR b LIKE '%学校%' OR b LIKE '%小说%' OR b LIKE '%院%' OR b LIKE '%移动%' OR b LIKE '%中学%' OR b LIKE '%在线观看%' OR b LIKE '%//%') 
 GROUP BY b

以下为以上sql的explains结果:

select_typetablepartionstypepossible_keyskeykey_lenrefrowsfilteredExtra
PRIMARYsogouindexnor_bnor_b1803102333837.57Using where
DEPENDENT SUBQUERYsogouindex_subquerynor_bnor_b1803func12100Using where; Using index; Full scan on NULL key

只是简单记录一下,之后再谈一谈如何进一步优化和细节补充。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值