zoukankan      html  css  js  c++  java
  • 索引的选择性

    索引的选择性是指索引列中不同值的数目与表中记录数的比。如果一个表中有2000条记录,表索引列有1980
    个不同的值,那么这个索引的选择性就是1980/2000=0.99。
    一个索引的选择性越接近于1,这个索引的效率就越高。
    如果是使用基于cost的最优化,优化器不应该使用选择性不好的索引。如果是使用基于rule的最优化,优化
    器在确定执行路径时不会考虑索引的选择性(除非是唯一性索引),并且不得不手工优化查询以避免使用非
    选择性的索引。
    例如:
    SELECT
    COUNT(DISTINCT order_id)/COUNT(*) AS id,
    COUNT(DISTINCT pay_name)/COUNT(*) AS pay,
    COUNT(*)
    FROM order_info t;

    结果:

    +--------+--------+----------+
    | id         | pay       | COUNT(*) |
    +--------+--------+----------+
    | 1.0000 | 0.0000 | 407658 |
    +--------+--------+----------+
    1 row in set

    得出order_id的索引选择性比pay_name高。

  • 相关阅读:
    WebStorm2020.3.0及以下安装激活方法
    CSS随堂笔记【狂神说JAVA】
    HTML随堂笔记【狂神说JAVA】
    JAVA语言基础随堂笔记
    js 常用类和方法
    js 数组
    js 对象和函数
    js 基础语法
    JavaScript 简介
    PS基础
  • 原文地址:https://www.cnblogs.com/kenwong/p/4744153.html
Copyright © 2011-2022 走看看