zoukankan      html  css  js  c++  java
  • 叶问11

    《叶问》是知数堂新设计的互动栏目,不定期给大家提供技术知识小贴士,形式不限,或提问、或讨论均可,并在当天发布答案,让大家轻轻松松利用碎片时间就可以学到最实用的知识点。

    2018年12月04日,周二

    大表,某列无索引,先需要查询该列,删除符合条件的记录,大约占40%数据量,请问有何更好的方案吗?

    一、存在其他索引(主键、唯一索引、普通索引)的情况

    1、可利用现有索引分段扫描全表,例如每次只读取1000条记录,然后再根据条件进行判断并删除数据(最好是进行归档,而不是真正删除)。

    2、由于要删除掉的数据量比较大,会造成InnoDB表较多碎片,可以考虑用反向操作,也就是创建新表,把要保留的数据复制过去,最后再将两个表对调。

    3、利用 pt-archiver 工具进行归档。

    二、无任何索引的情况

    1、真发生这种情况的话,负责的DBA或者相关同学麻烦引咎辞职吧。这句话是开玩笑的,嘿,不过说真的也太挫了。

    2、观察条件列,如果区分度较高(不同值较多),就创建一个新索引,再根据索引删除数据。

    3、对该表创建一个自增主键列,然后参考上述方案,根据主键索引分段扫描、判断、删除(归档)

    2018年12月11日,周二

    MySQL所有的压力都在一个CPU核心上,为什么会产生这种现象,改如何解决?

    一、为什么会产生这种现象?

    事实上,并不是所有压力都在一个逻辑CPU上,其实是因为MySQL还不支持并行计算,因此一个会话中的SQL只会被分配到一个逻辑CPU上。

    之所以出现这种现象,大概率是因为下面几种情况:

    1、某个会话中正在执行慢SQL,尚未结束;

    2、某个会话中的SQL开启了大事务,并且持有很多行锁或等待很多行锁,该事务尚未结束

    二、如何解决?

    1、检查是否有慢SQL,并进行优化

    2、尽量不使用大事务,拆分成小事务

    3、记住老司机的名言,当mysqld进程消耗CPU很高时,极大概率是有些SQL没索引导致

    4、也可以尝试用perf top工具来排查具体什么原因导致

    2018年12月18日,周二

    监控MySQL的性能,应该主要观察那几个监控项?

    一、liunx操作系统层面

    1、整体cpu负载的%user最好不长期超过20%(若%user太高,有极大可能性是索引使用不当)

    2、整体cpu负载的%iowat最好不长期超过10%(确认I/O子系统是否有明显瓶颈)

    3、整体cpu负载的%idle最好保持在70%以上(让CPU保持低负载)

    4、关注各个逻辑CPU之间的负载是否均衡(可能是中断不均衡导致性能问题)

    5、关注是否有swap产生(注意关闭NUMA),可使用命令或工具:vmstat、sar、dstat等

    二、MySQL状态层面

    1、主要关注tps、qps、并发连接数(Threads_connected)、并发活跃线程数(Threads_running)、临时表(*tmp_disk_tables*)、锁(*locks_waited*, Innodb_row_lock*)等指标

    2、关注当前是否有不良线程状态,例如:copy*to*tmp table、Creating sort index、Sorting result、Creating tmp table、长时间的Sending data等

    3、关注InnoDB buffer pool page的使用情况,主要是Innodb*pages_free、Innodb*wait_free两个

    4、关注InnoDB的redo log刷新延迟,尤其是checkpoint延迟情况,并关注unpurge list大小

    5、关注innodb status中是否有long semaphore wait的情况出现

    6、关注slow query sql的增长情况

  • 相关阅读:
    POSIX共享内存
    jsp 传值jsp 数据库 乱码解决的攻略 全套
    遗传奥秘的伟大揭秘者:J.Watson
    js这些代码你都不会,你还有什么好说的!!!
    Android编程获取手机型号,本机电话号码,sdk版本号及firmware版本号号(即系统版本号号)
    广域网使用的常见设备
    门户系统整合sso cookie共享及显示用户信息
    cookie中的path与domain属性详解
    taotao用户登录(及登录成功后的回调url处理)
    taotao用户注册前台页面
  • 原文地址:https://www.cnblogs.com/allenhu320/p/11347428.html
Copyright © 2011-2022 走看看