• MySQL学习之索引(三)


    索引与表的维护

    Finding and Repairing Table Corruption

    CHECK TABLE 查看表是否corrupt

    REPAIR TABLE 修复表

    如不支持该操作,可以

    mysql> ALTER TABLE innodb_tbl ENGINE=InnoDB

    只能修复索引,如果是系统损坏或是数据损坏,则只好还原数据备份。

    Updating Index Statistics


    MySQL查询优化器会调用存储引擎的两个API来决定如何使用索引:

    1. records_in_range(), 返回在一个范围内的记录数量

    2. info(), 返回很多数据信息

    如果存储引擎提供的数据不准确甚至没有数据,那么优化器做的选择可能会很糟糕。

    可以运行ANALYZE TABLE

    不过不同的存储引擎提供的索引数据很不相同,

    • Memory根本没有索引数据
    • MyISAM把索引数据存在硬盘上,分析的过程中整张表会被锁住
    • InnoDB把索引数据存在内存里

    Reducing Index and Data Fragmentation

    数据碎片化

    • 行碎片:一行的数据被分成好几块分散在不同的地方
    • Intra-row fragmentation: 逻辑上连续的行在硬盘上的存储不连续
    • 剩余空间碎片:大量的空数据

    OPTIMIZE TABLE

  • 相关阅读:
    Third practice 3
    Third practice 2
    Third practice 1
    mock模拟get和post请求
    eslint语法检测报错解决办法
    python 入门到实践第四章案例
    python 入门到实践第三章课后练习
    python 入门到实践第三章
    axios拦截器的使用
    axios的实例和模块封装
  • 原文地址:https://www.cnblogs.com/hugmyloneliness/p/3652458.html
Copyright © 2020-2023  润新知