zoukankan      html  css  js  c++  java
  • 数据库学习1-索引

    什么是索引
    1.索引用来快速查找拥有特定值的记录
    2.索引是加速查询速度的手段,是快速定位数据的技术
    3.索引是一种特殊文件,innodb数据表上的索引是表空间的组成部分,他们包含着数据表里所有记录的引用指针
    4.分为聚集索引和非聚集索引

    聚集索引:索引中的键值的逻辑顺序决定了相应行的物理顺序
    非聚集索引:数据存储在一个地方,索引存储在另一个地方,索引文件中存储指针指向数据存储位置

    1.添加索引的列最好不可是可编辑的列,
    2.索引列不可以有null,所以添加的索引列最好设置为empty string
    3.索引列最好不要有大量的字符串
    4.索引会提高查询速度,但也会降低更新效率
    5.一般来说在where和join中出现的列需要加入索引
    6.mysql把同一个表中的索引数量限制在16个
    7.delay_key_write命令用于暂时限制每条sql语句在插入和更新之后立即更新索引,可以等到所有的插入更新完成之后执行索引更新,能够大大提高更新效率


    两种情况不建议使用索引
    1.数据库记录少,在不超过2000条的情况下不考虑使用索引
    2.索引选择性低,索引选择性就是出现不重复索引值与记录数的比例

    添加索引
    1.alert table:用于创建普通索引,主键索引,唯一索引
    alert table tablename add index indexName(column_list)
    alert table tablename add unique (column_list)
    alert table tablename add primary key (column_list)

    2.create index :可对表增加普通索引和唯一索引
    create index indexname on table_name(column_list)
    create unique index indexname on table_name(column_list)

    索引的优化
    1.调整where语句的顺序
    2.去掉频繁插入更新的列的索引
    3.最适合建立索引的列是where语句,join语句中出现的列
    4.建立唯一索引,对于会出现多个重复值的列,唯一索引效果较差
    5.使用短索引
    6.利用最左前缀

    模板哥 - 网页模板,网站模板,DIV模板,CSS模板,前端模板,官网,官网模板,企业网站模板下载,模板下载
  • 相关阅读:
    ssm框架中的struts我的配置问题
    ssm框架web.xml中filter配置问题
    partition-list
    entity.Student@150f3932, entity.Student@1a740c6b 没有实体中的数据
    UVA 11361 Investigating Div-Sum Property
    UVA 10883 Supermean
    Gym 101081K Pope's work
    UVA 1103 How Many O's?
    HOJ 1108
    HDU 5936 朋友
  • 原文地址:https://www.cnblogs.com/zw2582/p/11865534.html
Copyright © 2011-2022 走看看