• MySql——索引


    1.创建索引

            字段:可多选

            索引类型

                    UNIQUE        唯一

                    FULLTEXT    全文索引

            索引方法:

                    默认BTREE,可选HASH

            联合索引:

                    1.遵守最左前缀法则,即用的最频繁的字段放在最左侧   

                    2.sql前方使用范围查询(>或<)后,后方的联合索引就会失效,使用>=或<=可规避这个问题

                    3.不要在索引列上进行计算,会使索引列失效

                    4.使用模糊查询时,'刘%%'不会失去索引,'%刘'则会失去索引

                    5.使用or关键字时,前条件有索引后条件没索引,整体索引会失效,需要or前后都有索引

                    6.认为全表扫描快于索引时,会放弃索引搜索

    2.使用索引方法

            搜索条件方法

            推荐使用:        use index(索引名)         推荐使用的索引名

            不推荐使用:    ignore index(索引名)     不推荐使用的索引名

            强制使用:        force index(索引名)       强制使用的索引名

    3.覆盖索引

            如在索引内包含,则不需要回表查询,否则会执行回表查询不在索引内的数据 

    4.前缀索引 

            只查询5-10位前缀

    5.索引设计原则

            1.数据量大,查询频繁的表建立索引,如查询不频繁不必

            2.针对作为查询条件(where、order by、group by)的字段建立索引

            3.根据区分度建立,尽量唯一索引,因为区分度越高效率越高,否则无区别

            4.如字符串长度过长,可截取部分建立前缀索引

            5.尽量使用联合索引,效率更高,不会执行回表查询

            6.尽量控制索引量,并不是越多越好

            7.如果当前列不能为NULL,创建表时就限制为NOT NULL

  • 相关阅读:
    jQuery 动画小练习
    【springboot】19、数据库操作
    el-select数据过多的解决(纯前端)
    【Python】一个最基础,但是超难看出来的类声明为tuple的BUG
    Linux文件
    Generator异步方案
    P5 到 P7= 入门到内核?来看看这份对标 80W+ 年薪的 Java 进阶路线图(含面试题分享)
    Websocket升级版
    2流高手速成记(之二):SpringBoot之基础Web开发
    【毕业设计之微信小程序系列】基于微信小程序的餐厅点餐小程序的设计与实现
  • 原文地址:https://blog.csdn.net/qq_20497071/article/details/126746218