1.大表的数据修改最好分批处理。

1000万行的记录表中删除更新100万行记录,一次只删除或更新5000行数据。每批处理完成后,暂停几秒中,进行同步处理。

2.如何修改大表的表结构。

对表的列的字段类型进行修改,改变字段宽度时还是会锁表,无法解决主从数据库延迟的问题。

解决办法:

1.创建一个新表。

2.在老表上创建触发器同步老表数据到新表。

3.同步老表数据到新表。

4.删除老表。

5.将新表重新命名为老表。

可以使用命令,完成上面的工作:

pt-online-schema-change –alter=”modify c varchar(150) not null default ‘’” –user=root –password=root d=sakia, t=表名 –charset=utf8 –execute

3.优化not in 和 <> 的查询

例子:

select customer_id ,firstname,email from customer where customer_id

not in (select customer_id from payment)

会多次查询payment 表,如果payment表记录很多效率将很低。

改写后的sql

select a.customer_id ,a.firstname,a.email from customer a left join payment b

on a.customer_id=b.customer_id where b.customer_id is null;

4.对汇总表的优化查询

select count(1) from product_comment where product_id=999;

创建汇总表:

create table product_comment_cnt (product_id ,cnt int);

select sum(cnt) from (

select cnt from product_comment_cnt where product_id=999 union all

select count(1) from product_comment where product_id =999 and timestr>date(now())

) a

每天定时更新汇总表,再加上当天的数据。

转载于:https://www.cnblogs.com/yg_zhang/p/5936034.html

特定场景下SQL的优化相关推荐

  1. 特定场景下Yolo改进算法:Poly-Yolo

    论文名称:Poly-YOLO: higher speed, more precise detection and instance segmentation for YOLOv3 论文地址:https ...

  2. 智能音箱场景下的性能优化

    QCon是由InfoQ主办的综合性技术盛会,今年是Qcon举办的第10个年头,半吊子全栈工匠有幸作为演讲嘉宾分享一个近两年来的实践经验--智能音箱场景下的性能优化,隶属于曾波老师出品的"场景 ...

  3. [Camera Drv]开video dynamic framerate,特定场景下video encode时会闪屏 - MTK物联网在线解答 - 技术论坛

    [Camera Drv]开video dynamic frame rate,特定场景下video encode时会闪屏 1. 开 video dynamic frame rate ,环境 BV 在 d ...

  4. 亿级数据量场景下,如何优化数据库分页查询方法?

    摘要:刷帖子翻页需要分页查询,搜索商品也需分页查询.当遇到上千万.上亿数据量,怎么快速拉取全量数据呢? 本文分享自华为云社区<大数据量性能优化之分页查询>,作者: JavaEdge. 刷帖 ...

  5. etcd 在超大规模数据场景下的性能优化

    2019独角兽企业重金招聘Python工程师标准>>> 作者 | 阿里云智能事业部高级开发工程师 陈星宇(宇慕) 概述 etcd是一个开源的分布式的kv存储系统, 最近刚被cncf列 ...

  6. 海量小文件场景下训练加速优化之路

    作者:星辰算力平台 1. 背景 随着大数据.人工智能技术的蓬勃发展,人类对于算力资源的需求也迎来大幅度的增长.在腾讯内部,星辰算力平台以降本增效为目标,整合了公司的GPU训练卡资源,为算法工程师们提供 ...

  7. 特定场景下取代if-else和switch的方式

    look-up表代替if-else 比如某平台的信用分数评级: 超过700-950,信用极好, 650-700信用优秀, 600-650信用良好, 550-600信用中等, 350-550信用较差. ...

  8. 高并发场景下的httpClient优化使用

    https://www.cnblogs.com/bethunebtj/p/8493379.html 1.背景 我们有个业务,会调用其他部门提供的一个基于http的服务,日调用量在千万级别.使用了htt ...

  9. 关于如何解决特定场景下WPF4.0中“XamlWriter.Save序列化限制”问题的一种思路

    问题背景      笔者最近使用ArcGIS Server WPF API 开发一个能够实现所见即所得的基于Xaml的图层符号编辑功能.这个功能主要目的能够让用户以Xaml的形式来定义图层符号,并能够 ...

最新文章

  1. JobTracker节点后台线程之RetireJobs
  2. springboot项目中session和cookie
  3. MySQL为表的所有字段添加数据
  4. 【Qt】Qt登录对话框(设计器实现)
  5. 大括弧之战 代码风格
  6. Embedding技术在商业搜索与推荐场景的实践
  7. Linux安装yum过程(超详细)
  8. 2020软件测试面试题汇总,看完BATJ面试官对你微微一笑!(内含答案)
  9. oracle磁盘满了怎么办,ORACLE磁盘空间占满解决
  10. pr基本图形模板无法使用_Pr基本图形板块教程 Premiere Pro CC Essential Graphics
  11. 《经济学通识》二、管制的愿望与结果
  12. Linux vmwaver下安装cenos联网时出现 network is unreachable问题
  13. bind dlz mysql rpm_MySQL+BIND-dlz 实现智能DNS
  14. 计算机操作系统:处理机调度相关
  15. linux中tail命令的作用,Linux中tail命令实例
  16. java有关的论述_中国大学MOOC: 以下有关JAVA线程的论述,正确的是()。
  17. 天馈线测试仪具备什么功能
  18. kafka实践(十五): 滴滴开源Kafka管控平台 Logi-KafkaManager研究
  19. Infiniband-IB网络
  20. easyExcel 导入Excel数据

热门文章

  1. 如何判断DropDownList中是否包含某个项
  2. js 不同页面间传递值并取值
  3. [转]高颜值、好用、易扩展的微信小程序 UI 库,Powered by 有赞
  4. Docker、Kubernetes、Apache Mesos 之争 | 一个与传说不同的故事
  5. ObjC block入门
  6. IPv6相比IPv4在那些方面做出了改进?IPv4 to IPv6过渡的三种tunnel技术各自的特性...
  7. Linux中如何杀掉僵尸进程
  8. [转]HTTP请求模型和头信息
  9. aix6.1安装oracle 10g总结
  10. ExtJS 4.1更新