• 叶问8


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

    2018年9月21日,周五

    innodb已经使用了独立undo表空间,那么ibdata1还会增长吗,为什么? 

    答:使用独立undo表空间后,ibdata1里主要存储Data dictionary、Rollback segments、Double write buffer、change buffer、Foreign key constraint system tables等数据。 

    下面两种情况可能还会导致ibdata1文件增长: 

    1、当使用共享表空间模式时(设置innodb_file_per_table=0),ibdata1还会存储用户数据,导致ibdata1文件增长。(当然了,现在应该几乎没人再这么用了) 

    2、在高I/O负载时,可能会来不及刷新和回收change buffer page,也会导致ibdata1文件增长。(此种情况再高并发压测情形下更容易出现)

    2018年9月30日,周日

    怎么安心过好国庆节? 

    答:

    1、检查备份。不管是逻辑备份、物理备份,还有binlog也要备份。备份文件可恢复,才是好备份。 

    2、做好安全措施。授权合理不要过大,在外不要连陌生的网络办公。危险操作,尽量等节后执行。 

    3、健康巡检。节前巡检包括:数据库桩体、硬盘空间、日志信息、物理硬件、系统负载是否预警等。

    「知数堂」祝大家节日快乐,DB不宕机跑得欢。

    2018年10月9日,周二

    MySQL线上实例insert慢常见原因有哪些?

    答:

    1、锁等待:SQL产生的间隙锁、自增锁、死锁、MDL锁、外键检查锁,锁等待时间

    2、iops达到瓶颈:例如备份任务、高频binlog redolog等文件写入

    3、semi-sync:因为网络抖动,MySQL半同步、增强半同步导致语句卡住

    4、高并发:高并发场景下,导致系统资源达到瓶颈,从而SQL执行慢

    5、大字段:当前表索引过多,或者写入大量的text类型数据

    6、硬件故障:因为磁盘、raid卡、内存等物理硬件故障导致写入慢

    7、磁盘资源耗尽:操作系统的磁盘、inode资源耗尽

    8、文件系统故障:MySQL data目录的所在挂在的不可写、或者被设置为只读

    9、binlog group commit等待 

    10、参数配置:innodb_buffer、redo_buffer过小 

    11、autocommit:事物非自动提交,等待程序提交。

    2018年10月12日,周五

    虽然命中索引,但SQL效率仍然慢,可能有哪些原因?

    答:

    1、索引字段重复值或者空值太多。 

    2、查询条件范围太广返回结果数太多,全索引扫描 

    3、没有利用到覆盖索引,造成大量回表 

    4、查询字段过多,并且包含大字段 

    5、索引字段数据分布太随机,回表不多也会引起大量随机io 

    6、统计信息不准 

    7、表的单行数据值很大,需要较多io 

    8、表中包含多个索引, 命中的索引不是最优的索引。

  • 相关阅读:
    snmp安装zabbix
    〖Demo〗-- 用Django实现Video页面分类查询
    〖Python〗-- Django的ORM性能优化建议
    〖Web〗-- 新特性之WebSocket
    〖Python〗-- 数据结构
    〖缓存〗-- Memcached 与 Redis
    〖算法〗-- NB二人组:堆排序、归并排序
    〖算法〗-- 快速排序 、希尔排序、计数排序
    〖算法〗-- 排序lowB三人组:冒泡排序、选择排序、 插入排序
    〖算法〗-- 递归、二分查找、列表查找
  • 原文地址:https://www.cnblogs.com/allenhu320/p/11347230.html
Copyright © 2020-2023  润新知