• mysql挖掘与探索------第2章 索引1-1


    1索引作用

    说起提高数据库性能,索引是最物美价廉的东西了。不用加内存,不用改程序,不用调sql,只要执行个正确的’create index’,查询速度就可能提高百倍千倍,这可真有诱惑力。可是天下没有免费的午餐,查询速度的提高是以插入、更新、删除的速度为代价的,这些写操作,增加了大量的I/O。

    主索引,主键自动的为主索引 (类型Primary)
    唯一索引 (UNIQUE)
    普通索引 (INDEX)
    全文索引 (FULLTEXT)(只有MyISAM存储引擎支持) sphinx + 中文分词    coreseek
    综合使用=>复合索引

    必要性:

    a较频繁的作为查询条件字段应该创建索引
     select * from emp where empno = 1
    b唯一性太差的字段不适合单独创建索引,即使频繁作为查询条件
     select * from emp where sex = '男'
    c更新非常频繁的字段不适合创建索引
     select * from emp where logincount = 1
    d不会出现在WHERE子句中字段不该创建索引:)

     

    2索引建立

    create [UNIQUE|FULLTEXT]  index index_name on tbl_name (col_name [(length)] [ASC | DESC] , …..); alter table table_name ADD INDEX [index_name]     (index_col_name,...)
     添加主键(索引) ALTER TABLE 表名 ADD PRIMARY KEY(列名,..); 联合主键

    3索引删除

    删除索引 DROP INDEX index_name ON tbl_name; alter table table_name drop index index_name;
     删除主键(索引)比较特别: alter table t_b drop primary key;

    4查询索引

    查询索引(均可) show index from table_name; show keys from table_name; desc table_Name;

    5重点介绍(索引虽然建立了,但是不被使用的情况)

    查询要使用索引最重要的条件是查询条件中需要使用索引。
    下列几种情况下有可能使用到索引: 1,对于创建的多列索引,只要查询条件使用了最左边的列,索引一般就会被使用。

    2,对于使用like的查询,查询如果是  ‘%aaa’ 不会使用到索引
     ‘aaa%’ 会使用到索引。
    下列的表将不使用索引:

    1,如果条件中有or,即使其中有条件带索引也不会使用。

    2,对于多列索引,不是使用的第一部分,则不会使用索引。

    3,like查询是以%开头

    4,如果列类型是字符串,那一定要在条件中将数据使用引号引用起来。否则不使用索引。

    5,如果mysql估计使用全表扫描要比使用索引快,则不使用索引。

    6 测试索引的效果:

    查看索引的使用情况

    show status like ‘Handler_read%’;

    大家可以注意: handler_read_key:这个值越高越好,越高表示使用索引查询到的次数。
     handler_read_rnd_next:这个值越高,说明查询低效。

    或者使用explain分析问题(优化可以使用explain)

    Explain select * from emp where ename=“zrlcHd” 会产生如下信息: select_type:表示查询的类型。 table:输出结果集的表 type:表示表的连接类型 possible_keys:表示查询时,可能使用的索引 key:表示实际使用的索引 key_len:索引字段的长度 rows:扫描的行数 Extra:执行情况的描述和说明;如图:

  • 相关阅读:
    【JavaScript DOM 编程艺术】 笔记
    如何循序渐进有效学习 JavaScript?
    如何正确学习JavaScript
    HTML5学习
    window上杀死node进程
    HTML5:离线存储
    js面向对象的理解
    H5项目常见问题及注意事项
    查找已连接过的wifi密码
    flex的兼容
  • 原文地址:https://www.cnblogs.com/legend-song/p/3655888.html
Copyright © 2020-2023  润新知