前言

索引加快了检索的速度,但是却降低了数据列里插入、删除以及修改数值的速度。也就是说,索引降低了许多涉及写入的操作速度。之所以出现这种情况,是由于写入一条数据不仅仅是要写入到数据行,还需要所有的索引都作出相应的改变如更新或是重新编排。MySQL在为检索生成一个执行方案时候,要仔细对索引进行计算,创建过多的索引对查询优化程序就加上了更多的工作,而且当你有太多的索引的时候,MySQL还有可能无法选出最好的索引来使用。于是在选择索引的时候,需要采取一些策略。

策略1

在选择索引列的时候,尽量为用搜索、分类或者分组的数据列编制索引,不要为作为输出的数据列编制索引。换句话说,最合适有索引的数据列是那些在where字句中出现的数据列,在连接字句中给出的数据列、或是在order by或是group by子句中出现的数据列。

策略2

综合考虑数据列的维度势。数据列的维度,等于它所容纳的非重复值的个数。

策略3

尽量选择短小的值进行索引

短小的值可以让比较操作更快完成,加快索引查询速度。

短小的值可以让索引的体积更小,减少磁盘I/O活动

短小的键值意味着键缓存里的索引块可以容纳更多的键值,让MySQL可以在内存中容纳更多的键,这样较少了I/O活动的概率。

InnoDB存储引擎采用的聚族索引。所谓的聚族索引就是把数据行和主键索引集中保存在一起,其他的索引都是二级索引,它们保存着主键值和二级索引值。对于二级索引查找过程是先通过二级索引找到主键,然后通过主键找到对应的数据。选择短小的值进行索引,可以减少二级索引占据的空间。

策略4

为字符串值的前缀添加索引

如果打算给一个字符串列添加索引,尽可能的给出前缀长度。

策略5

不要建立过多的索引

mysql设计资源目录售卖_MySQL目录设计一些策略_mysql相关推荐

  1. mysql网页设计资源_分享25个很棒的网页设计教程和资源网站

    如果你是一个初学者,你想找高质量的设计资源和高品质的网页设计教程,可以看看本文列出的25个很棒的网页设计教程和资源网站,如果你是高手,也可以把自己制作的设计教程发布到这些网站上,这样更多人能够从你的教 ...

  2. DEVOPS 运维开发系列一:ITIL服务目录管理流程的设计与信息化管理系统功能的开发

    ITIL是世界范围内公认的运维服务管理的最佳实践.ITIL的理论落地,不需要什么信息系统的支持,使用word文件.Excel表格一样可以对ITIL的十几个关键管理流程做到很好的落地.虽然是这么讲,但现 ...

  3. ppt模板目录页如何排版设计?

    我们在ppt模板制作中,目录页作为不可或缺的一部分,要足够的吸引力才可以,ppt模板 目录页如何排版设计?ppt家园今天来介绍一下目录页的排版设计技巧. 模板入口:https://www.pptjia ...

  4. 目录树结构的数据库设计思考

    昨天一同事遇到一问题,找我帮忙解决一下,他的需求是这样的,服务器将收集好的数据返回回来,客户端要解析并展现成树状的,类似于QQ客户端那样,大概就如下面这张图,这是他们网页端实现的界面. 其实需求挺简单 ...

  5. 《超越平凡的平面设计: 版式设计原理与应用》目录 —导读

    http://file.epubit.com.cn/LargeCover/15018e1b71e31e302620" > 版权声明 超越平凡的平面设计: 版式设计原理与应用 Befor ...

  6. 《设计工作室生存手册》目录—导读

    版权声明 设计工作室生存手册 DESIGN IS A JOB Copyright © 2012 Mike Monteiro All rights reserved. No part of this p ...

  7. 软件开发设计思想与6大软件设计原则、23种设计模式目录-设计模式

    目录 1.软件开发设计指导思想: (1)可维护性Maintainability (2)可复用性Reusability (3)可扩展性Extensibility/Scalability (4)灵活性fl ...

  8. 《终极海报——23位创意大咖的设计评论与思想》目录—导读

    致 终极海报--23位创意大咖的设计评论与思想 致我的侄子卡伊 他帮助我以如此多新奇的视角 去观察这个世界 序 终极海报--23位创意大咖的设计评论与思想 设计师们都在想什么?呃,我们永远也不会知道. ...

  9. mysql数据库业务逻辑_Mysql业务设计(逻辑设计)

    逻辑设计 数据库设计三大范式 数据库设计第一大范式 数据库表中所有的字段都只具有单一属性 单一属性的列是由基本数据类型所构成 设计出来的表都是简单的二维表 数据库设计的第二大范式 要求表中只有一个业务 ...

  10. MySQL数据库搜题_智慧树知到_MySQL数据库设计与应用_搜题公众号

    智慧树知到_MySQL数据库设计与应用_搜题公众号 更多相关问题 阅读理解. This is the twin's(双胞胎的) room. It's a nice room. The two beds ...

最新文章

  1. oracle--with as
  2. NCBI dbGap数据下载记录
  3. php插入日志到数据库,对象转json
  4. 第八周实践项目9 算法库——广义表
  5. Deep Learning for Chatbots, Part 2 – Implementing a Retrieval-Based Model in Tensorflow
  6. int转string的3种方法
  7. linux切换root密码错,(转)Linux下root密码丢失和运行级别错误的解决办法
  8. 基于xilinx vivado的XDMA IP的使用详解
  9. asp.net MVC 验证错误信息本地化
  10. 手机正在录音怎么隐藏
  11. Wavenet基础学习
  12. Atitit  OOCSS vs bem
  13. 南京大学计算机技术考研,南京大学计算机技术考研
  14. list筛选数据 python_「每日一练」巧用python对列表进行筛选
  15. php批量邮件地址,PHP通过phpmailer批量发送邮件功能
  16. JavaScript基础教程第8版-例1-Bingo卡片游戏
  17. L1-005. 考试座位号
  18. 学习游戏原画需要什么条件或者基础吗?
  19. JS原生---歌词滚动效果案例
  20. Yolov5 网络改进之增加SE、CBAM、CA、ECA等注意力机制

热门文章

  1. [攻防世界][CTF][2020][MISC] 攻防世界 MISC writeup
  2. linux虚拟服务器新增磁盘怎么挂载,如何在vmware虚拟机Linux中增加硬盘的方法(教程)...
  3. anaconda中的python如何进行关联分析_Anaconda、Miniconda、Conda、pip的相互关系
  4. python股票网格交易法详解_干货 | 浅谈网格交易法
  5. io密集型和cpu密集型_和小胖一起理解CPU负载和利用率
  6. DocumentFragment使用
  7. php if require,关于php:required_if Laravel 5验证
  8. am335x gpio驱动
  9. You must install 'msgfmt' on your build machine
  10. 在何时该用什么方式编译WinCE