目录
1.redis,批量插入数据,老是断开怎么解决
修改redis配置,禁用或加大心跳检测时间。
内存满了溢出
每次插入 1000 条数据。
2. mysql有多少索引类型
主键索引
数据列不允许重复,不允许为NULL,一个表只能有一个主键。
普通索引
MySQL中基本索引类型,没有什么限制,允许在定义索引的列中插入重复值和NULL值。
唯一索引
索引列中的值必须是唯一的,但是允许NULL值。
全文索引
主要是为了快速检索大文本数据中的关键字的信息。
前缀索引
组合索引
空间索引
3.mysql在服务器上怎么调优
1. 硬件资源优化
- 内存:确保服务器有足够的内存,因为 MySQL 的性能与内存密切相关。
- CPU:多核 CPU 可以提高并发处理能力。
- 磁盘:使用 SSD 替代 HDD,以提高 I/O 性能。
- 网络:确保网络带宽足够,避免网络成为瓶颈。
2. 配置文件调优
MySQL 的配置文件通常是 my.cnf
(Linux)或 my.ini
(Windows)。以下是一些关键参数的调优建议:
InnoDB 相关参数
innodb_buffer_pool_size
:- 设置 InnoDB 缓冲池的大小,通常建议设置为服务器内存的 50%-70%。
- 例如:
innodb_buffer_pool_size = 16G
。
innodb_log_file_size
:- 设置 InnoDB 日志文件的大小,较大的日志文件可以提高写入性能。
- 例如:
innodb_log_file_size = 2G
。
innodb_flush_log_at_trx_commit
:- 控制日志刷新策略,设置为
1
保证 ACID,设置为2
或0
可以提高性能但可能丢失部分数据。 - 例如:
innodb_flush_log_at_trx_commit = 1
。
- 控制日志刷新策略,设置为
查询缓存
query_cache_type
和query_cache_size
:- 查询缓存在高并发场景下可能成为瓶颈,建议关闭。
- 例如:
query_cache_type = 0
。
3. 索引优化
- 为常用查询字段创建合适的索引。
- 避免过度索引,因为索引会增加写操作的开销。
- 使用
EXPLAIN
分析查询执行计划,确保查询使用了索引。