zoukankan      html  css  js  c++  java
  • SQL-索引的合理规划及索引失效

    索引的目的:提高查询性能;

    索引的弊端:1)对数据进行增删改操作时更慢,因为进行这些操作需要进行索引的维护,2)占用更多的磁盘空间;

    索引的建立,应该根据实际情况来选择:

    1:表是经常被读(取),还是被写(入),大多数表都是读取大于写入,建立索引是可以的,但一些特殊的表,如日志记录,是写入大于读取,因此不适合建索引;

    2:是否经常使用表的该列进行条件过滤查找?如:自我介绍;

    3:该列上行数据类型和大小:行数据类型越简单,比较速度快,空间小,不会有空间压力,适合建立索引,反之,不适合;

    4:各行数据分散(不重复)程度:重复度越高,无法建立一个高效的查询树;典型的就是BIT类型,都是0和1,没有索引价值,不要觉得少了1/2查询次数就够了,理想的索引,应该是指数级的性能优化;

    另:聚集索引是最高效的,应该把它作用在最常用最合适的列上(通常为ID列)

    索引失效

    即使创建了索引,也不能保证SQL Server一定会执行索引,原因来自:

    执行计划:主要作用是对查询进行优化,一条SQL查询(复杂查询)语句,可能有多种途径实现,执行计划会为我们选择一个最佳‘路径实现’;

    SQL Server会解析SQL语句,当明白我们查询目的时,自动生成执行计划,并根据执行计划进行查询;

    如果这篇文章,对你有帮助,请点击关注,我会持续更新......
  • 相关阅读:
    web自动化--如何在不同页面间游刃有余
    web自动化-窗口句柄及位置变化
    [bug] 验证selenium的显式和隐式等待而发现的一个低级错误
    Web自动化
    Appium 实战练习一
    Appium1.9 之 Chromedriver安装方式
    Appium1.9.1 之 Desired Capabilities 释疑
    [BUG]Appium1.9.1 这个问题竟然花了我5分钟进行定位
    Appium1.9.1 部署及结果检验
    selenium 初探
  • 原文地址:https://www.cnblogs.com/-GoFurther/p/13734177.html
Copyright © 2011-2022 走看看