zoukankan      html  css  js  c++  java
  • 索引的使用

    当表有索引的时候,每个select语句都会先扫描索引,索引是有序存储的并且以搜索为目标进行了优化

    如果没有加索引,那么每一句select语句都要随机地逐条扫描整个表

    索引的另一个用途是快捷高效地在相关表之间做连接操作,在需要连接的列上使用索引可以显著提高性能

    创建索引:alter table 表名 add index (列名)

    如果查找的是以通配符开头select * from artist where name like '%Queen'则mysq不会使用索引,但可以这么查name like REVERSE('% Queen')

    mysql不支持基于索引的函数,select * from artist where upper(name) = upper('Billy Joel') name列上加了索引,当在name列上使用函数的时候,mysql就不会使用name列上的索引

    当知道数据确实是唯一的情况下,把索引定义为唯一索引是非常好的方式alter table artist drop index name,add unique index(name)

    创建多列索引alter table 表名 add primary key 索引名字 (列名1,列名2...)

    alter table album add index m1 (country_id,album_type_id)

    多列索引最左边的列可以被当作单一列索引来使用,当这些多列被用于group by或order by时最左边的列也可以显著提高性能

    where order by group by的条件可以拼索引

    隐藏秘籍:

    1.删除重复索引

    name2中最左项last_name被包含在name1中,可将name1删掉

    2.监控无效的索引

    3.改进索引列

    列类型的优化

    1.IPv4定义为INT UNSIGNED只占4字节,通常定义为VARCHAR(15)平均占用12字节

    2.MD5用CHAR(32)来存储。

    其他优化:

    Key_len:

  • 相关阅读:
    C#语言和SQL Server数据库技术_My Bank银行系统
    C#语言和SQL Server数据库技术_深入C#的String类
    C#语言和SQL Server数据库技术_C#语法快速热身
    HTML_利用CSS3制作网页动画
    HTML_定位网页元素
    HTML_浮动
    HTML_盒子模型
    HTML_css3美化网页元素
    iview中select搜索
    第六章、Vue项目预热
  • 原文地址:https://www.cnblogs.com/lonely-buffoon/p/5708599.html
Copyright © 2011-2022 走看看