快速掌握数据库索引技术[数据库设计]

发布时间:2020-03-19 22:01:21 作者:wufeng1990
来源:网络 阅读:741

  1. 索引的分类:

     普通索引、主键索引、唯一索引、全文索引、复合(组合)索引

  2. 何时创建索引:

  (1) 较频繁的作为查询条件的字段;

  (2) 唯一性太差的字段(如性别/状态字段等),即使我们频繁作为查询的条件,匀不适合创建索引;

  (3) 数据更新非常频繁的字段(如统计平台当前的在线人数字段/商品的销售数量字段等)是不适合创建索引。

 3. 创建索引(也可用可视化工具直接创建,这里我们用代码演示):

  (1) 普通索引:

     create index 索引名 on 表名(表字段)

  (2) 主键索引:

    在创建表时,设定主键字段,如id,即为主键索引。

  (3) 唯一索引:

    ① 如果字段设置了唯一约束条件(unique),该字段便是一个唯一索引了;

    ② 直接创建唯一索引: create unique index 索引名 on 表名(字段1,字段2...)

  (4) 全文索引:

    顾名思义,全文索引主要就是文件、文本(如商品详情、文章、新闻等等)之类的一个检索。

    注意:使用全文索引,表的引擎必须设置为MyISAM,否则无效。

               ① 创建: create fulltext index 索引名 on 表名(字段1,字段2...)

快速掌握数据库索引技术[数据库设计]

               ②使用:

                      I )  selete 字段1,字段2... from 表名  where  match(匹配对应的全文索引字段)  against(模糊检索的飞中文字符串)。

快速掌握数据库索引技术[数据库设计]

                     II) where条件不能用: 全文索引字段like‘%字符串%’,不然全文索引无效。

快速掌握数据库索引技术[数据库设计]

                    III) mysql提供的fulltext只针对英文有效,处理中文要用sphinx(coresseek)技术做中文处理,后期将讲述sphinx(coresseek)安装和使用;

                   

               ③组合索引:

                     create  index  索引名   on  表名(字段1,字段2...)


 4.索引的代价:

           (1). 创建索引是需要开销的,会占用一定的磁盘空间;快速掌握数据库索引技术[数据库设计]

           (2). 索引数据牵引难度大;

           (3). 为了维护索引文件,会导致增、删、改操作变慢

              


小常识:1.  show  index from  表名 ,  可以查看对应的表详细使用索引情况;

                  2. explain : sql不执行的情况下,就可以看到sql的详细执行情况,便于我们分析sql和优化sql。

快速掌握数据库索引技术[数据库设计]

      

   


推荐阅读:
  1. 浅谈django url请求与数据库连接池的共享问题
  2. 使用django怎么对数据库中的表进行重新生成

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

数据库 索引 设计

上一篇:万人直播网络架构与CDN网络

下一篇:学习日志---线性回归实现

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》