常用的问题

一、索引的使用

创建索引的情况:

1、主建自动创建唯一索引

2、频繁作为查询条件的字段应该要创建索引

3、查询中其他表与其他表关联的字段,外建关系建立索引

4、频繁更新字段,不适合创建索引

5、where条件里用不到的字段补充创建索引

6、查询中统计或者分组字段

不需要创建索引的情况:

1、表记录太少

2、经常增删的表

3、数据重复且分布平均的字段

二、数据库常见的瓶颈

CPU负担重:一般发生在数据装入内存和磁盘重读起数据的时候。  

 IO 负担重:装入数据远远大常见于内存容量时。

服务器的性能瓶颈

explain:计划执行

怎么玩:explain+SQL

三、数据库的分库分表场景优化

1、硬件优化

2、数据库调优、例如增加索引、优化慢查询

3、引入缓存、减轻数据库的压力

4、程序与数据库表优化,重构

5、读写分离或分表分库

四、redis持久化RDB和AOF

 Redis 持久化:

提供了多种不同级别的持久化方式:一种是RDB,另一种是AOF.

 RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照

 AOF 持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。

 五、Redis集群添加和删除节点(主和从)

(1)启动集群:因为集群创建一次就行,所以直接启动所有节点服务即可

(2)查看服务器的运行状态:ps -ef | grep redis

(3)登录其中一个节点,查看集群状态

(4)我们将新建两个服务,在之前搭建的集群中新增两个节点(一主一从)

            步骤一:创建7007、7008文件夹,拷贝redis.conf文件到两个文件夹下,然后进行配置文件的修改

            步骤二:启动7007和7008俩个服务并查看服务状态。

(5)先稍微看一下redis-trib脚本能怎么使用:

(6)新增一个主节点7007(Master)

            查看集群节点状态:

(7)为新节点7007分配slot槽

    步骤一:使用redis-trib命令的reshard,找到集群中的任意一个主节点,对其进行重新分片工作。

(8)在最后,我们查看一下集群状态:

(9)添加从节点(7008)到集群中

猜你喜欢

转载自www.cnblogs.com/studygithub5208868/p/10680597.html