zoukankan      html  css  js  c++  java
  • 组合索引适用的情况

    假设一个表有下面的规则:

    CREATE TABLE test (
    id INT NOT NULL,
    last_name CHAR(30) NOT NULL,
    first_name CHAR(30) NOT NULL,
    PRIMARY KEY (id),
    INDEX name (last_name,first_name)
    );

    name 索引是在last_name和first_name 列,该指标可用于查找查询指定值在已知范围内组合last_name和first_name值。

    它也可以用于特定的last_name值的查询,因为last_name列是索引最左边前缀。

    因此, name index 适用于下面的查询:
    SELECT * FROM test WHERE last_name=’Widenius’;

    SELECT * FROM test
    WHERE last_name=’Widenius’ AND first_name=’Michael’;

    SELECT * FROM test
    WHERE last_name=’Widenius’
    AND (first_name=’Michael’ OR first_name=’Monty’);

    SELECT * FROM test
    WHERE last_name=’Widenius’
    AND first_name >=’M’ AND first_name < ‘N’;

    name index 不能用于下面的查询:

    SELECT * FROM test WHERE first_name=’Michael’;

    SELECT * FROM test
    WHERE last_name=’Widenius’ OR first_name=’Michael’;

    假设 你执行下面的SELECT 语句:

    SELECT * FROM tbl_name
    WHERE col1=val1 AND col2=val2;

  • 相关阅读:
    sql server 查询数据判断为空
    sql 排序
    ASP.NE 上传文件控件
    JQ 获取下一个元素和获取下一个元素的[指定]子元素
    sql server 查询时间 格式化输出
    ASP.NET 页面验证cookie
    ASP.NET MD5加密
    HTML编辑器ASP.NET
    Repeater控件
    20150215-情愿
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13351424.html
Copyright © 2011-2022 走看看