flaks_数据库优化

面试时:对于数据库的优化,或者想提高网站的并发性的时候,你会从哪些角度进行优化

问题:数据库的优化,网站的并发

构建------>直到变为庞杂的数据库

  1. 构建数据库表时我们就要考虑到日后的扩展问题和查询的快慢问题。
    三范式原则:
    第一范式:拆的不能再拆。
    第二范式:出现大量的冗余数据。非主要的字段全部提出来,可以分表
    第三范式:非主要的表中,有没有因为一个人的数据,丢掉了类型的信息。

  2. 建索引(index)。
    主键是索引
    唯一约束(unique)
    常查询的字段建立索引,可以在把两个(多个)一起建立一个索引
    会降低增删改的速率。
    Q: 你有没有做过django的优化:通过模型类进行操作,所以我对模型类一定可以进行优化。我自己去手写sql
    最左原则:尽量把含有索引的字段往前放。(顺序决定快慢)
    联合查询的使用和建立联合索引时的顺序相同。

  3. sql语句优化
    where条件
    不要用select *
    能使用联合查询,就不使用子查询
    外键:保证不同的表的关联性、完整性。级联:株连九族的用处。有额外的性能开销
    数据量大的时候,不再使用外键。
    慢查询工具链接:
    https://flyerboy.github.io/2016/12/23/mysql_slow/
    https://yemengying.com/2016/05/24/mysql-tuning/

  4. 引入缓存
    redis memached

  5. 读写分离(mysql本身实现的机制,通过配置文件)
    主从同步;热备份。
    主:用于写、删、改 master
    从:用于读。 slave
    热:两台机器都不宕机,可以进行数据同步。

  6. 分库分表(数据量很大时)
    垂直分表(大表拆小表,查询时联合查询)
    垂直分库(大库分小库,根据逻辑分为几个数据库)
    水平分表(表的数据分成好几份)
    水平分库(把每张表存放到专属的数据库,根据范围查询)

数据库索引

	## 为什么:类二分法进行查找,B+树。

工作账号介绍

每天的工作:
1. 分析需求
2. 编写代码
3. 编写单元测试
4. 自测
5. 编写接口文档
6. 提测代码

进入到公司的时候:
1. emal
2. git gitlab 账号权限 rsa设置
3. vpn 虚拟私有网络 ssh远程链接 客户端软件,客户端账号、密码 配置文件、数据库账号。
4. python环境、框架、pycharm、测试环境的数据库

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值