mysql索引的面试题
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索引的面试题相关推荐
- 一文整理14道MySQL索引相关面试题
精心整理14道MySQL索引相关面试题(珍藏版) 如果仅仅是死记硬背MySQL索引相关面试题一定是相当枯燥的,不容易记却容易忘,这里循序渐进的讲解有关索引有关知识点,让大家在理解的基础上记住一些面试常 ...
- mysql索引优化笔试题_索引优化策略面试题
A:用了c1,c2,c3,c4(mysql没你傻,它知道在不影响语义的情况下换下顺序) B:用了c1,c2,c3,而c4没有(在c3后就中断了) C:用到了c1 如果是order by c2,c3 则 ...
- MySQL 索引的面试题总结
什么是索引? 索引是一种能帮助 MySQL 提高查询效率的数据结构. 索引分别有哪些优点和缺点? 索引的优点如下: 快速访问数据表中的特定信息,提高检索速度. 创建唯一性索引,保证数据表中每一行数据的 ...
- MySQL索引原理-面试题
一. 什么是索引? 索引在MySQL中也叫是一种"键",是存储引擎用于快速找到记录的一种数据结构.索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发 ...
- mysql索引相关面试题
mysql桶 存储引擎分类有哪些以及使用场景? 创建索引的原则? 索引失效情况? ==校验SQL语句是否使用了索引方式为:在SQL语句前面使用explain关键字== 索引分类? linux添加索引 ...
- MySQL索引分析以及相关面试题
可以在我的个人博客阅读文章,排版会美观一些:文章地址 1. 什么是索引 一种能帮助mysql提高查询效率的数据结构:索引数据结构 索引优点: 大大提高数据查询速度 索引缺点: 维护索引需要耗费数据库资 ...
- 常见面试题:为什么MySQL索引要用B+Tree呢?(看完你就能和面试官笑谈人生了)
title: 常见面试题:为什么MySQL索引要用B+Tree呢?(看完你就能和面试官笑谈人生了) tags: 面试常见题 常见面试题:为什么MySQL索引要用B+Tree呢?(看完你就能和面试官笑谈 ...
- 关于MySQL索引面试题的6连炮!招架的住吗?
往期热门文章: 1.<往期精选优秀博文都在这里了!> 2.真香!IDEA 最新版本,支持免打扰和轻量模式! 3.微服务如何防止雪崩?阿里开源之Sentinel限流.熔断来帮你! 4.为什么 ...
- MySQL索引面试题六连击
MySQL索引面试题六连击 最近在微信公众号上看到一篇推文,关于MySQL索引面试题的,觉得写得挺好,整理了一下形成博客总结. 原文链接:关于MySQL索引面试题的6连炮!招架的住吗? 1.面试真题 ...
最新文章
- Newlife.Cube登录登出
- jzoj2700-数字【数论,LCM】
- Spring MVC – Flash属性
- php7 php5.6 array,[转]php5.6 升级到php7及变化
- 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 25丨求团队人数【难度中等】​
- QString::arg()//用字符串变量参数依次替代字符串中最小数值
- 2012高等学校计算机等级考试试卷二级 vb.net程序设计,2012上海市高等校计算机等级考试试卷二级VBNET程序设计.docx...
- Centos6.9 minmal 安装
- python编程语言-Python有望超越Java排第二?风变编程解析编程语言新趋势
- [渝粤教育] 西南科技大学 运输组织学 在线考试复习资料
- c语言编写的小游戏(c语言编写小游戏入门)
- 《数据挖掘概念与技术》第三版 范明 孟小峰译 课后习题答案(二)
- 怎样用计算机制作漫画,用电脑绘制漫画需要些什么?步骤是什么?
- 年薪30W+的IC验证工程师究竟是做什么的?一文为你讲解清楚
- CAD标注:CAD软件中如何快速进行角度尺寸标注?
- 基于 Kubernetes 部署 Zookeeper,太有意思了!
- 利用c++与opencv将文本、图像加密进另一张图片中
- 快手2019年春季校园招聘笔试试题--算法A试卷
- 商汤科技20年秋招智慧城市-数据运营工程师笔试题(2019.8.19)
- allero过孔盖油PCB文件设置
热门文章
- 谈谈网页中使用奇数字体和偶数字体
- Egret《决战沙城》框架学习
- Android 客户端Cookie失效的问题
- 歼击机设计与软件开发
- BigDecimal类型计算和比较大小
- 年产2万吨山楂酒工厂的设计-包装工段及车间的设计(lunwen+任务书+cad图纸)
- 有关 Thumbnails的报错No suitable ImageReader found for 文件路径/文件名.jpg
- 达梦数据库学习记录-包含安装、创建、体系结构、表空间用户模式对象管理备份与还原等
- 堆晶结构_宁夏贺兰山北段构造—岩浆演化与金矿床成因
- Photoshop制作超酷的金属立体字