zoukankan      html  css  js  c++  java
  • MySQL索引(一)

                 数据库开发中索引的使用占了很重要的位置,好的索引会使数据库的读写效率加倍,烂的索引则会拖累整个系统甚至引发灾难。

                 索引分三类:

                 index ----普通的索引,数据可以重复

                 unique ----唯一索引,唯一索引,要求所有记录都唯一

                 primary key ----主键索引,也就是在唯一索引的基础上相应的列必须为主键

                 一般的创建索引的语句如下:

                 

                 MySQL 中会对 <,<=,=,>,>=,BETWEEN,IN 以及不以% _ 开头的like 语句使用索引。

                


                 为证实like处理方法以下为一个简单的测试:

                


                先不添加索引,随机插入100W 条记录,并测试like 的查询速度。

               

             使用前后% 测试like 查询速度: 70231条 用时0.531s
    961406条用时1.422s


    下面加入索引:


    再次测试like 的查询速度:

    70231条 用时1.094s

    961406条用时1.485s

    表为MyISAM格式。 可以看到加了索引后查询的效率并未得到提升。再使用 explain 关键字查看 like 'ab%' 的运行情况:

    EXPLAIN
    SELECT *
    FROM tb_test IGNORE INDEX(my_index)
    WHERE fval LIKE '%ab';



    EXPLAIN SELECT *
    FROM tb_test
    WHERE fval LIKE '%ab';


  • 相关阅读:
    解决PowerDesigner中DBMS设置的问题-创建物理模型时DBMS选项为空
    转载 缓存技术Redis在C#中的使用及Redis的封装
    T4模版 mysql
    T4 模版应用类
    在点击run之后,没有显示任何设备,这一般是adb的问题,解决方法是重新启动adb
    webapi 返回不同格式的数据
    使用elk+redis搭建nginx日志分析平台
    [C#]使用WebClient上传文件并同时Post表单数据字段到服务端
    关于AJAX跨域调用ASP.NET MVC或者WebAPI服务的问题及解决方案
    2019.12.09-新闻列表布局代码
  • 原文地址:https://www.cnblogs.com/yjl49/p/2371926.html
Copyright © 2011-2022 走看看