什么是索引?

索引是一种能帮助 MySQL 提高查询效率的数据结构。

索引分别有哪些优点和缺点?

索引的优点如下:

  • 快速访问数据表中的特定信息,提高检索速度。
  • 创建唯一性索引,保证数据表中每一行数据的唯一性。
  • 加速表与表之间的连接。
  • 使用分组和排序进行数据检索时,可以显著减少查询中分组和排序的时间。

索引的缺点:

  • 虽然提高了的查询速度,但却降低了更新表的速度,比如 update、insert,因为更新数据时,MySQL 不仅要更新数据,还要更新索引文件;
  • 建立索引会占用磁盘文件的索引文件。

使用索引注意事项:

  • 使用短索引,短索引不仅可以提高查询速度,更能节省磁盘空间和 I/O 操作;
  • 索引列排序,MySQL 查询只使用一个索引,因此如果 where 子句中已经使用了索引的话,那么 order by 中的列是不会使用索引的,因此数据库默认排序可以符合要求的情况下,不要进行排序操作;尽量不要包含多个列的排序,如果需要最好给这些列创建复合索引;
  • like 语句操作,一般情况下不鼓励使用 like 操作,如果非使用不可, 注意 like "%aaa%" 不会使用索引,而like "aaa%"可以使用索引;
  • 不要在列上进行运算;
  • 不适用 NOT IN 和 <> 操作。

以下 SQL 有什么问题?该如何优化?

MySQL 索引的面试题总结相关推荐

  1. 一文整理14道MySQL索引相关面试题

    精心整理14道MySQL索引相关面试题(珍藏版) 如果仅仅是死记硬背MySQL索引相关面试题一定是相当枯燥的,不容易记却容易忘,这里循序渐进的讲解有关索引有关知识点,让大家在理解的基础上记住一些面试常 ...

  2. mysql索引优化笔试题_索引优化策略面试题

    A:用了c1,c2,c3,c4(mysql没你傻,它知道在不影响语义的情况下换下顺序) B:用了c1,c2,c3,而c4没有(在c3后就中断了) C:用到了c1 如果是order by c2,c3 则 ...

  3. mysql索引的面试题

    1.可以使用多少列创建索引? 任何标准表最多可以创建16个索引列. 2.索引的底层实现原理和优化 B+树,经过优化的B+树 主要是在所有的叶子结点中增加了指向下一个叶子节点的指针,因此InnoDB建议 ...

  4. MySQL索引原理-面试题

    一. 什么是索引? 索引在MySQL中也叫是一种"键",是存储引擎用于快速找到记录的一种数据结构.索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发 ...

  5. mysql索引相关面试题

    mysql桶 存储引擎分类有哪些以及使用场景? 创建索引的原则? 索引失效情况? ==校验SQL语句是否使用了索引方式为:在SQL语句前面使用explain关键字== 索引分类? linux添加索引 ...

  6. MySQL索引分析以及相关面试题

    可以在我的个人博客阅读文章,排版会美观一些:文章地址 1. 什么是索引 一种能帮助mysql提高查询效率的数据结构:索引数据结构 索引优点: 大大提高数据查询速度 索引缺点: 维护索引需要耗费数据库资 ...

  7. 常见面试题:为什么MySQL索引要用B+Tree呢?(看完你就能和面试官笑谈人生了)

    title: 常见面试题:为什么MySQL索引要用B+Tree呢?(看完你就能和面试官笑谈人生了) tags: 面试常见题 常见面试题:为什么MySQL索引要用B+Tree呢?(看完你就能和面试官笑谈 ...

  8. 关于MySQL索引面试题的6连炮!招架的住吗?

    往期热门文章: 1.<往期精选优秀博文都在这里了!> 2.真香!IDEA 最新版本,支持免打扰和轻量模式! 3.微服务如何防止雪崩?阿里开源之Sentinel限流.熔断来帮你! 4.为什么 ...

  9. MySQL索引面试题六连击

    MySQL索引面试题六连击 最近在微信公众号上看到一篇推文,关于MySQL索引面试题的,觉得写得挺好,整理了一下形成博客总结. 原文链接:关于MySQL索引面试题的6连炮!招架的住吗? 1.面试真题 ...

最新文章

  1. 软件工程作业No.5
  2. Win8Metro(C#)数字图像处理--2.14Prewitt 边缘检测
  3. 图解CS版的皮肤界面编程示例
  4. MySQL创建用户(CREATE USER)
  5. 用c写按键精灵脚本语言,按键精灵之插件编写
  6. Python 最难的问题
  7. SDK与API的区别
  8. 追踪广告效果保护用户隐私 —— 隐私集合交集算法可以得兼
  9. python使用小记2-csv文件处理
  10. origin 多因子柱状图
  11. html选项卡出现乱码,html乱码
  12. Hive中sort by、distribute by、cluster by的区别及用法
  13. hannoi 汉诺塔
  14. 鞭炮游戏 甲、乙,丙三人同时开始放第一个鞭炮
  15. 工业4.0细谈MES制造执行系统
  16. A Game of Thrones(101)
  17. 【iOS】内存五大分区
  18. 【北京-后厂村】大厂云集,精心筛选了19家公司推荐给你
  19. AI人工智能技术可以应用在网站seo优化推广上吗?
  20. 祖思机——第一台二进制可编程计算机

热门文章

  1. python基本命令range_Python的Range()函数(指南)
  2. 云服务器php版本修改,云服务器 更改php版本
  3. innobackupex参数说明
  4. 【洛谷 P2513】 [HAOI2009]逆序对数列(DP)
  5. CF1045G AI robots(动态开点线段树)
  6. 運輸配送信息Delivery_Information
  7. 微信小程序简单入门1
  8. Lync2013 升级错误总结8 Lync2013 日志总是提示进程 RtcHost(5724) 收到了一个无效的客户端证书...
  9. 设置与读取C#控制台应用程序Main函数中的参数args
  10. Ajax基石脚本异步并发调用参数传递