1.可以使用多少列创建索引?

任何标准表最多可以创建16个索引列。

2.索引的底层实现原理和优化

B+树,经过优化的B+树

主要是在所有的叶子结点中增加了指向下一个叶子节点的指针,因此InnoDB建议为大部分表使用默认自增的主键作为主索引。

3. 什么情况下设置了索引但无法使用

1.以“%”开头的LIKE语句,模糊匹配

2. OR语句前后没有同时使用索引

3. 数据类型出现隐式转化(如varchar不加单引号的话可能会自动转换为int型)

4.简单描述mysql中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响(从读写两方面)

索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。

普通索引(由关键字KEY或INDEX定义的索引)的唯一任务是加快对数据的访问速度。

普通索引允许被索引的数据列包含重复的值。如果能确定某个数据列将只包含彼此各不相同的值,在为这个数据列创建索引的时候就应该用关键字UNIQUE把它定义为一个唯一索引。也就是说,唯一索引可以保证数据记录的唯一性。

主键,是一种特殊的唯一索引,在一张表中只能定义一个主键索引,主键用于唯一标识一条记录,使用关键字 PRIMARY KEY 来创建。

索引可以覆盖多个数据列,如像INDEX(columnA, columnB)索引,这就是联合索引。

索引可以极大的提高数据的查询速度,但是会降低插入、删除、更新表的速度,因为在执行这些写操作时,还要操作索引文件。

5.对于关系型数据库而言,索引是相当重要的概念,请回答有关索引的几个问题:

1.索引的目的是什么?
快速访问数据表中的特定信息,提高检索速度
创建唯一性索引,保证数据库表中每一行数据的唯一性。
加速表和表之间的连接

使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间

2.索引对数据库系统的负面影响是什么?
负面影响:
创建索引和维护索引需要耗费时间,这个时间随着数据量的增加而增加;索引需要占用物理空间,不光是表需要占用数据空间,每个索引也需要占用物理空间;当对表进行增、删、改、的时候索引也要动态维护,这样就降低了数据的维护速度。

3.为数据表建立索引的原则有哪些?
在最频繁使用的、用以缩小查询范围的字段上建立索引。

在频繁使用的、需要排序的字段上建立索引

4.什么情况下不宜建立索引?
对于查询中很少涉及的列或者重复值比较多的列,不宜建立索引。

对于一些特殊的数据类型,不宜建立索引,比如文本字段(text)等

6.主键、外键和索引的区别?

主键、外键和索引的区别

定义:

主键–唯一标识一条记录,不能有重复的,不允许为空

外键–表的外键是另一表的主键, 外键可以有重复的, 可以是空值

索引–该字段没有重复值,但可以有一个空值

作用:

主键–用来保证数据完整性

外键–用来和其他表建立联系用的

索引–是提高查询排序的速度

个数:

主键–主键只能有一个

外键–一个表可以有多个外键

索引–一个表可以有多个唯一索引

7.你怎么看到为表格定义的所有索引?

索引是通过以下方式为表格定义的:

SHOW INDEX FROM
<tablename>;

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 索引的面试题总结

    什么是索引? 索引是一种能帮助 MySQL 提高查询效率的数据结构. 索引分别有哪些优点和缺点? 索引的优点如下: 快速访问数据表中的特定信息,提高检索速度. 创建唯一性索引,保证数据表中每一行数据的 ...

  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. Newlife.Cube登录登出
  2. jzoj2700-数字【数论,LCM】
  3. Spring MVC – Flash属性
  4. php7 php5.6 array,[转]php5.6 升级到php7及变化
  5. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 25丨求团队人数【难度中等】​
  6. QString::arg()//用字符串变量参数依次替代字符串中最小数值
  7. 2012高等学校计算机等级考试试卷二级 vb.net程序设计,2012上海市高等校计算机等级考试试卷二级VBNET程序设计.docx...
  8. Centos6.9 minmal 安装
  9. python编程语言-Python有望超越Java排第二?风变编程解析编程语言新趋势
  10. [渝粤教育] 西南科技大学 运输组织学 在线考试复习资料
  11. c语言编写的小游戏(c语言编写小游戏入门)
  12. 《数据挖掘概念与技术》第三版 范明 孟小峰译 课后习题答案(二)
  13. 怎样用计算机制作漫画,用电脑绘制漫画需要些什么?步骤是什么?
  14. 年薪30W+的IC验证工程师究竟是做什么的?一文为你讲解清楚
  15. CAD标注:CAD软件中如何快速进行角度尺寸标注?
  16. 基于 Kubernetes 部署 Zookeeper,太有意思了!
  17. 利用c++与opencv将文本、图像加密进另一张图片中
  18. 快手2019年春季校园招聘笔试试题--算法A试卷
  19. 商汤科技20年秋招智慧城市-数据运营工程师笔试题(2019.8.19)
  20. allero过孔盖油PCB文件设置

热门文章

  1. 谈谈网页中使用奇数字体和偶数字体
  2. Egret《决战沙城》框架学习
  3. Android 客户端Cookie失效的问题
  4. 歼击机设计与软件开发
  5. BigDecimal类型计算和比较大小
  6. 年产2万吨山楂酒工厂的设计-包装工段及车间的设计(lunwen+任务书+cad图纸)
  7. 有关 Thumbnails的报错No suitable ImageReader found for 文件路径/文件名.jpg
  8. 达梦数据库学习记录-包含安装、创建、体系结构、表空间用户模式对象管理备份与还原等
  9. 堆晶结构_宁夏贺兰山北段构造—岩浆演化与金矿床成因
  10. Photoshop制作超酷的金属立体字