• MySQl有哪些索引(种类)?索引特点?为什么要使用索引?


    • 普通索引:仅加速查询
    • 唯一索引:加速查询 + 列值唯一(可以有null)
    • 主键索引:加速查询 + 列值唯一(不可以有null)+ 表中只有一个
    • 组合索引:多列值组成一个索引,专门用于组合搜索,其效率大于索引合并
    • 全文索引:对文本的内容进行分词,进行搜索
    • 索引合并:使用多个单列索引组合搜索
    • 覆盖索引:select的数据列只用从索引中就能够取得,不必读取数据行,换句话说查询列要被所建的索引覆盖
    • 聚簇索引:表数据是和主键一起存储的,主键索引的叶结点存储行数据(包含了主键值),二级索引的叶结点存储行的主键值。使用的是B+树作为索引的存储结构,非叶子节点都是索引关键字,但非叶子节点中的关键字中不存储对应记录的具体内容或内容地址。叶子节点上的数据是主键与具体记录(数据内容)

    为什么使用索引?索引有哪些好处?

    • 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。
    • 可以大大**加快数据的检索速度,**这也是创建索引的最主要的原因。
    • 帮助服务器避免排序和临时表
    • 随机IO变为顺序IO。
    • 可以加速表和表之间的连接 ( 索引允许数据库引擎快速定位表中的数据,特别是在连接多个表时,索引可以极大地加速JOIN操作。通过在连接列上创建索引,数据库可以快速定位连接所需的数据,而不必扫描整个表。这对于复杂的查询和数据关系非常有意义。)
    • 特别是在实现数据的参考完整性方面特别有意义。 (在关系数据库中,数据的完整性是至关重要的。索引可以帮助维护数据的完整性,尤其是在使用外键时。通过在外键列上创建索引,可以确保引用表中的数据与主表中的数据保持一致。这可以防止插入或更新数据时出现不一致。)
  • 相关阅读:
    LayaBox---TypeScript---Symbols
    sd卡数据损坏怎么回事,sd卡数据损坏怎么恢复
    uniapp:APP端webview拦截H5页面跳转,华为市场发布需要限制webview的H5页面跳转
    ajax 学习记录
    笔记本摄像头怎么打开?记牢这5个简单方法!
    创意写作类国际竞赛有哪些?
    [21天学习挑战赛]选择排序
    leetcode-67:二进制求和
    一台TrinityCore服务器客户端连接网速慢(未解决)
    go环境部署
  • 原文地址:https://blog.csdn.net/dougongzi/article/details/133915493