首页技术文章正文

Python开发面试题目:如何优化数据库?

更新时间:2020-11-30 来源:传智教育 浏览量:

1577370495235_学IT就到黑马程序员.gif

(1)问题分析

考虑数据库的使用,在面对大量数据时如何保证数据库中的数据及时的更新、响应用户的请求、确保数据库的在高并发情况下仍能保证数据的完整性等。

(2)核心问题讲解

①选取最适用的字段属性

MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。

②使用连接(JOIN)来代替子查询(Sub-Queries)

这个技术可以使用SELECT语句来创建一个单列的查询结果,然后把这个结果作为过滤条件用在另一个查询中。例如,我们要将客户基本信息表中没有任何订单的客户删除掉,就可以利用子查询先从销售信息表中将所有发出订单的客户ID取出来,然后将结果传递给主查询;使用子查询可以一次性的完成很多逻辑上需要多个步骤才能完成的SQL操作,同时也可以避免事务或者表锁死,并且写起来也很容易。但是,有些情况下,子查询可以被更有效率的连接(JOIN)替代。

③使用联合(UNION)来代替手动创建的临时表

④事务

⑤锁定表

⑥使用外键

⑦使用索引

⑧对查询语句进行优化

(3)问题扩展

都有哪些熟悉的数据库,常用的有哪些,每种数据库对应的优缺点等

(4)结合项目中使用

针对每种数据的优缺点来结合项目进行说明,在什么情况下使用哪种数据库,使用的原因等(比如:采用Redis数据库来对数据进行缓存,查询速度相对于其他的数据库来说比较快等)


猜你喜欢

Python queue模块功能介绍

Scrapy框架的工作原理是什么?

多线程爬虫是什么?多线程爬虫流程分析

黑马程序员Python+数据分析课程

分享到:
在线咨询 我要报名
和我们在线交谈!