10道Python常见面试题
1、MySQL索引种类
1.普通索引 2.唯一索引 3.主键索引 4.组合索引 5.全文索引
2、索引在什么情况下遵循最左前缀的规则?
最左前缀原理的一部分,索引index1:(a,b,c),只会走a、a,b、a,b,c 三种类型的查询,其实这里说的有一点问题,a,c也走,但是只走a字段索引,不会走c字段。
索引是有序的,index1索引在索引文件中的排列是有序的,首先根据a来排序,然后才是根据b来排序,最后是根据c来排序,
3、主键和外键的区别?
主键:唯一标识一条记录,不能有重复的,不允许为空
外键:表的外键是另一表的主键, 外键可以有重复的, 可以是空值
4、MySQL常见的函数?
sum 、 count 、 abs...
5、在对name做了唯一索引前提下,简述以下区别:
答:过滤出数据的同时,进行计数
6、1000w条数据,使用limit offset 分页时,为什么越往后翻越慢?如何解决?
答: 先查主键,在分页。 select * from tb where id in(select id from tb where limit 10 offset 20)
7、什么是索引合并?
答:索引合并,让一条sql可以使用多个索引。对这些索引取交集,并集,或者先取交集再取并集。从而减少从数据表中取数据的次数,提高查询效率。
8、什么是覆盖索引?
答:如果一个索引包含(或覆盖)所有需要查询的字段的值,称为‘覆盖索引’
9、简述数据库读写分离?
答:主服务器master记录数据库操作日志到Binary log,从服务器开启i/o线程将二进制日志记录的操作同步到relay log(存在从服务器的缓存中),另外sql线程将relay log日志记录的操作在从服务器执行。
10、简述数据库分库分表?(水平、垂直)
答:(1)数据库分表
把一张表按照一定的规则分解成不同的实体表。比如垂直划分和水平划分
垂直切分:把不同功能,不同模块的数据分别放到不同的表中,但是如果同一个模块的数据量太大就会存在性能瓶颈
水平切分:垂直切分解决不了大表的瓶颈,如果同一个功能中表的数据量过大,就要对该表进行切分,为水平切分
通俗理解:垂直切分---分不同的模块表;水平切分---分同一个模块下的多个表
(2)分库
将一堆数据放到不同的数据库中保存,上面说的都是在同一个数据库上,分库是分到不同的数据库上
10道Python常见面试题的更多相关文章
- 这10道springboot常见面试题你需要了解下
1.什么是Spring Boot? 多年来,随着新功能的增加,spring变得越来越复杂.只需访问https://spring.io/projects页面,我们就会看到可以在我们的应用程序中使用的 ...
- 315道Python常见面试题
第一部分,Python基础篇 为什么学习Python? 通过什么途径学习的Python? Python和Java.PHP.C.C#.C++等其他语言的对比? 简述解释型和编译型编程语言? Python ...
- 整理的最全 python常见面试题(基本必考)
整理的最全 python常见面试题(基本必考) python 2018-05-17 作者 大蛇王 1.大数据的文件读取 ① 利用生成器generator ②迭代器进行迭代遍历:for line in ...
- 整理的最全 python常见面试题
整理的最全 python常见面试题(基本必考)① ②③④⑤⑥⑦⑧⑨⑩ 1.大数据的文件读取: ① 利用生成器generator: ②迭代器进行迭代遍历:for line in file; 2.迭代 ...
- Python常见面试题
Q 1:Python 有哪些特点和优点? 作为一门编程入门语言,Python 主要有以下特点和优点: ● 可解释● 具有动态特性● 面向对象● 简明简单● 开源● 具有强大的社区支持当然,实际上 Py ...
- python常见面试题(mark)
1.大数据的文件读取 ① 利用生成器generator ②迭代器进行迭代遍历:for line in file 2.迭代器和生成器的区别 1)迭代器是一个更抽象的概念,任何对象,如果它的类有next方 ...
- python常见面试题(三)
问题1 到底什么是Python?你可以在回答中与其他技术进行对比(也鼓励这样做). 答案 下面是一些关键点: Python是一种解释型语言.这就是说,与C语言和C的衍生语言不同,Python代码在运行 ...
- python常见面试题(二)
1. 到底什么是Python?你可以在回答中与其他技术进行对比(也鼓励这样做). 下面是一些关键点: Python是一种解释型语言.这就是说,与C语言和C的衍生语言不同,Python代码在运行之前不需 ...
- python常见面试题(一)
1.Python是如何进行内存管理的? 答:从三个方面来说,一对象的引用计数机制,二垃圾回收机制,三内存池机制 一.对象的引用计数机制 Python内部使用引用计数,来保持追踪内存中的对象,所有对象都 ...
随机推荐
- 有关idea与mac的好用链接
idea集成maven:https://www.cnblogs.com/daojiao/p/10270489.html idea集成tomcat:https://www.cnblogs.com/guo ...
- HTTP:Web的基础
一.HTTP:Web的基础 1.URI 每个Web服务器资源都有一个名字,这样客户端就可以说明它们感兴趣的资源是什么了.服务器资源名称被称为统一资源标识符(URI) URI有两种形式,分别为URL和U ...
- uni-app学习(三)好用的插件1
1. uni-app学习(三) 1.1. async/await使用 表示异步处理,可使用then函数继续操作,返回的是Promise async function timeout() { retur ...
- RV32FDQ/RV64RDQ指令集(1)
Risc-V架构定义了可选的单精度浮点指令(F扩展指令集)和双精度浮点指令(D扩展指令集),以及四精度浮点指令集(Q扩展指令集).Risc-V架构规定:处理器可以选择只实现F扩展指令子集而不支持D扩展 ...
- MD5哈希算法及其原理
- MD5功能 MD5算法对任意长度的消息输入,产生一个128位(16字节)的哈希结构输出.在处理过程中,以512位输入数据块为单位. - MD5用途及特征 MD5通常应用在以下场景: 1.防篡改,保 ...
- 安装爬虫 scrapy 框架前提条件
安装爬虫 scrapy 框架前提条件 (不然 会 报错) pip install pypiwin32
- 027.[转] 理解OAuth 2.0
作者: 阮一峰 日期: 2014年5月12日 http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html OAuth是一个关于授权(authorizat ...
- MySQL日常使用遵循的规范建议
一 . 基础规范 1.必须使用InnoDB存储引擎 解读:支持事务:支持行级锁:支持MVCC多版本控制:支持外键:死锁自动检测:并发性能更好.CPU及内存缓存页优化使得资源利用率更高. 2. 表字符 ...
- 【转载】Kafka史上最详细原理总结
Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量 ...
- BayaiM__ oracle函数_02
BayaiM__ oracle函数_02 Oracle中的字符串函数---------------------------------------------------------------- ...