美国留学选择什么专业好?留学美国热门专业推荐
2019-06-26
更新时间:2024-08-08 22:20作者:小乐
路过时不要错过。错过一分,就可能错过一万、两万,就错过了一个好机会。如果您有什么好的建议或者疑问,请留言,我们一起讨论。
告诉我们如何进行sql优化
解释各个项目的含义
profile的含义及使用场景。
explain 中的索引问题。
(1)解释各项目的含义
id: 每个独立执行的操作的标志,表示操作对象的顺序。一般来说,值较大的先执行;
如果id值相同,则顺序是从上到下。
select_type:查询中每个select子句的类型。详细信息将于明天添加。
table:名称,正在操作的对象的名称,通常的表名称(或别名),但还有其他格式。
与partition:匹配的分区信息。
type:连接类型。具体说明将于明天添加。
possible_keys:列出可能使用的索引。
key:实际使用的索引。
key_len: 使用的索引键的平均长度(以字节为单位)。
ref:表示该行正在操作的对象的引用对象。它可能是const表示的常量,也可能来自其他表。
key指向的对象,比如驱动表的连接列。
rows: 估计每次需要扫描的行数。
Filtered:rows*filtered/100 表示这一步最终得到的行数(估计值)。
extra:重要的附加信息。详细信息将于明天添加。
(2) Profile的含义及使用场景。
Profile用于分析SQL性能的消耗分布。当explain无法解决慢SQL时,需要使用
profile 对sql进行更详细的分析,找出哪部分sql花费时间最多,并确认该sql
性能瓶颈。 (我用的不多,期待更好的答案)
(3)解释中的索引问题。
在Explain结果中,一般来说,应该尽量使用索引(类型为const、ref等,键列有值)而避免
无需使用全表扫描(类型明确为ALL)。例如,具有where条件和良好选择性的列需要建立索引。
驱动表的连接列也需要建立索引。从动表的连接列也可以与where条件列一起创建
联盟索引。当需要排序或分组时,还可以考虑建立索引来实现直接排序和汇总。
需要
2. 告诉我们您做了什么样的备份以及相关计划
备份计划
备份恢复时间
备份和恢复失败如何处理
原则:
mysqldump 是逻辑备份。添加--single-transaction 选项可实现一致的备份。后台流程
会话的事务隔离级别首先会被设置为RR(SET SESSION TRANSACTION ISOLATION LEVEL
REPEATABLE READ),然后显式启动事务(START TRANSACTION /*!40100 WITH CONSISTENT
SNAPSHOT */),这样可以保证事务中读取到的数据是事务的快照。然后把桌子放在桌子上
数据被读出。如果加上--master-data=1,则会在开头加上数据库读锁。
(FLUSH TABLES WITH READ LOCK),事务打开后,记录此时数据库的binlog位置(show
master状态),立即解锁,然后读取表数据。全部数据导入后,即可结束交易。
Xtrabackup:
xtrabackup是物理备份,直接复制表空间文件并不断扫描生成的重做日志并保存。
来。 innodb备份完成后,会进行一次flush引擎日志操作(旧版本有bug,
如果在5.6上不这样做,数据会丢失),确保所有重做日志都已放置(涉及事务的两阶段提交)
概念,因为xtrabackup不复制binlog,所以必须保证所有redo日志都放在磁盘上,否则
最后一组提交的交易数据可能会丢失)。这个时间点就是innodb完成备份的时间点。虽然数据文件
虽然不一致,但是通过这段时间的redo,数据文件可以达到一致性(恢复时做了什么)
感情)。然后,您需要使用读锁刷新表并从其他引擎(例如myisam)备份表。
备份完成后解锁。这样就形成了完美的热备。
后备方案:
这取决于图书馆的规模。一般来说,对于100G以内的库,可以考虑使用mysqldump,因为mysqldump
更加轻量灵活,备份时间选择在业务低峰时期,每天可以进行全量备份(mysqldump备份
生成的文件更小,压缩后更小)。
对于100G以上的库,可以考虑使用xtranbackup。备份速度明显比mysqldump快。一般来说
每周选择一次全量备份,其余的每天进行增量备份。备份时间为业务非高峰期。
备份恢复时间:
物理备份恢复快,逻辑备份恢复慢
备份与恢复失败如何处理:
首先,恢复前要做好充足的准备,避免恢复过程中出现错误。例如备份后的有效性检查,
权限检查、空间检查等,如果报错,根据错误提示进行相应调整。
3.500db,最快时间重启
您可以使用批量ssh工具pssh在需要重启的机器上执行重启命令。还可以使用salt(前提是客户端安装了salt)或者ansible(ansible只需要ssh登录)等多线程工具来同时操作多台服务器。
4、innodb读写参数优化
读取参数、全局缓冲池和本地缓冲区
写入参数
IO相关参数
缓存参数及缓存适用场景
(1)读取参数、全局缓冲池和本地缓冲区
全局缓冲区:
Innodb_buffer_pool_size
innodb_log_buffer_size
innodb_additional_mem_pool_size
local buffer(以下都是server层的session变量,不是innodb):
读取缓冲区大小
连接缓冲区大小
排序缓冲区大小
键缓冲区大小
Binlog_cache_size
(2)写入参数
insert_buffer_size资源由www.eimhe.com美禾学习在线合集提供
innodb_double_write
innodb_write_io_thread
innodb_flush_method
(3)IO相关参数
同步_binlog
Innodb_flush_log_at_trx_commit
Innodb_lru_scan_深度
Innodb_io_capacity
Innodb_io_capacity_max
innodb_log_buffer_size
innodb_max_dirty_pages_pct
(4)缓存参数及缓存适用场景
你的意思是查询缓存吗?用于多读少写,比如分析报告等。
查询缓存大小
查询缓存类型
查询缓存限制
最大查询缓存大小
如果对你有帮助的话请给我点个赞