我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL优化(7):其他注意事项

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL优化(7):其他注意事项

MySQL优化(7):其他注意事项

DDL执行

线上服务器执行DDL,更新表结构,需要谨慎,结构更改会导致全表被独占锁定(新版本有改善)

避免这种情况,使用COPY策略,而不是直接执行ALTER TABLE语句

思路:创建一个新表,满足新要求,将旧表数据逐条导入新表,同时表上可以执行其他任务,导入的过程其他任务都记录在日志,导入完成后根据日志更新新表,最后新表替换旧表(Java等代码中实现)

 

数据导入语句

在恢复数据时,需要大量的数据导入

思路:导入时,先禁用索引和约束;导入完毕后,再开启索引和约束,一次性创建索引

有可能使用到的语句:禁用索引和开启索引

ALTER TABLE [table-name] DISABLE KEYS;
ALTER TABLE [table-name] ENABLE KEYS;

对于InnoDB存储引擎,可以将多条SQL放入一个事务中完成 

可以使用prepare预编译的方案执行导入操作,减少相同结构的SQL编译次数

 

大容量页码LIMIT

尽量不要使用大的OFFSET,比如LIMIT 10000,10

思路:尽量使用条件过滤,完成数据筛选,而不是通过OFFSET跳过已经查询到的数据

 

SELECT *

不要使用SELECT *,而是使用具体的字段;这一点对性能影响不是很大,不过这是规范

 

ORDER BY RAND()不要用

这句话是随机排序,如果业务要随机选择尽量在服务器代码中实现,随机生成主键进行检索

 

单表和多表查询

尽量使用单表查询来代替多表查询,原因有以下几点:

(1)单表计算的压力在java代码,多表计算的压力在数据库

(2)多表查询会一个一个表依次执行,最后再合并结果

(3)多表查询会增加锁定时间,降低程序并发性能

 

COUNT(*)

MYISAM会自动存储COUNT(*)的值,INNODB没有内部计数器,执行这句话相对来说较慢

解决思路:额外创建一张表,把COUNT(*)的值记录下来

另外:

COUNT(ID)表示的是:统计ID字段不为NULL的数量

COUNT(1)表示的是:统计记录数量,和COUNT(*)几乎一样

 

LIMIT 1

如果你确定查到的结果只有一个,那么加入LIMIT 1会提高性能

 

慢查询日志

用于记录执行时间超过某个临界值的SQL的日志,用户快速定位慢查询

开启该日志:

查询是否开启

SHOW VARIABLES LIKE "slow_query_log";

开启

SET GLOBAL slow_query_log=On;

开启后会在数据目录创建slow.log文件

查看临界时间,默认是十秒,很长

SHOW VARIABLES LIKE "long_query_time";

设置临界时间

SET long_query_time = 0.5;

一旦超过了0.5秒,就会被自动记录

 

PROFILE信息统计

详细记录SQL语句执行时间的工具

开启PROFILE:

SET profiling=On;

使用命令查看结果

SHOW PROFILES;

具体某条的详情

SHOW PROFILE FOR QUERY [query_id]

 

典型的服务器配置

(1)MAX_CONNECTIONS:当前MySQL允许最大连接数151个

(2)table_open_cache:表句柄缓存2000

(3)KEY_BUFFER_SIZE:索引缓冲大小8388608

(4)innodb_buffer_pool_size:INNODB存储引擎缓存池大小,比较重要,尽可能地设置更大

(5)innodb_file_per_table:INNODB表的独立表文件,ON就表示一个表对应一个表文件,否则所有INNODB表文件存到一起

 以上的配置全部取决于实际的运行环境

 

mysqlslap压力测试工具

这是一个mysql自带的工具,是一个EXE,直接运行即可,具体的百度,这是DBA的工作,不是程序员的工作

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL优化(7):其他注意事项

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL优化(7):其他注意事项

DDL执行线上服务器执行DDL,更新表结构,需要谨慎,结构更改会导致全表被独占锁定(新版本有改善)避免这种情况,使用COPY策略,而不是直接执行ALTER TABLE语句思路:创建一个新表,满足新要求,将旧表数据逐条导入新表,同时表上可以执行其他任务,导入的过
MySQL优化(7):其他注意事项
2021-10-24

Node.js与MySQL交互操作及其注意事项

node.js作为服务端的js运行环境已经出现了有几年了,最近我有个朋友也在做这方面的开发,但是也是刚刚接触,遇到了很多坑。前几天他们在操作数据库的时候出现了点问题,后来我们一起看了看,其实都是node本身机制的一些问题,这里总结一下给新手
2022-06-04

LVS系统优化的注意事项有什么

LVS系统优化的注意事项有什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Linux环境CentOS 5.5名词LVS : Linux Virtual
2023-06-16

Golang 技术性能优化注意事项有哪些?

为了获得最佳 go 性能,需要考虑以下事项:避免过度内存分配。使用局部变量。优化 goroutine 使用。启用 gc 并发标记。使用性能分析工具。Go 性能优化注意事项Go 语言以其高性能和并发性而闻名。然而,为了从 Go 应用中获得最
Golang 技术性能优化注意事项有哪些?
2024-05-11

优化 PHP 函数:使用技巧和注意事项

通过遵循以下优化技巧和注意事项,可以显著提高 php 函数性能:保持函数简洁。避免局部变量,改用全局变量。避免使用字符串,改用常量或枚举。使用内存缓存。启用 opcache。同时,需要注意以下注意事项:避免递归。避免匿名函数。避免耦合。使用
优化 PHP 函数:使用技巧和注意事项
2024-04-11

mysql初始化数据库要注意哪些事项

在初始化MySQL数据库时,需要注意以下几个事项:安全性:设置数据库管理员账户和密码,并限制远程访问权限,以防止未经授权的访问。字符集和排序规则:根据实际需求选择合适的字符集和排序规则,以确保数据存储的正确性。存储引擎:根据应用需求选择
mysql初始化数据库要注意哪些事项
2024-05-06

阿里云ECS实例转出至其他账户操作指南和注意事项

阿里云ECS(ElasticCloudServer)是阿里云提供的一种计算服务,用户可以按需使用弹性计算资源,实现计算任务的快速部署和扩展。在使用过程中,可能需要将ECS实例转出至其他账户。本文将详细说明如何进行操作,并列出需要注意的事项。正文:步骤一:登录阿里云管理控制台在电脑上登录阿里云管理控制台,选择“计算
阿里云ECS实例转出至其他账户操作指南和注意事项
2023-12-12

C#开发注意事项:资源管理与内存优化

C#是一种流行的面向对象编程语言,广泛应用于Windows应用程序和Web开发等领域。在进行C#开发过程中,合理的资源管理和内存优化是非常重要的,它能够帮助开发者提高程序性能、减少资源浪费,保障系统的稳定性和可靠性。本文将介绍C#开发过程中
C#开发注意事项:资源管理与内存优化
2023-11-22

网站手机版制作优化的注意事项有哪些

本篇内容介绍了“网站手机版制作优化的注意事项有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  1.PC站和移动站配置方式的选择   目
2023-06-10

C++开发注意事项:避免C++性能优化的误区

C++开发注意事项:避免C++性能优化的误区在C++开发中,性能优化是一个非常重要的因素。优化代码的性能可以提高程序的执行效率和响应速度,对于大型项目和要求高性能的应用尤为重要。然而,在进行C++性能优化时,我们也需要注意一些误区,以避免引
C++开发注意事项:避免C++性能优化的误区
2023-11-22

网站SEO优化选择关键词的注意事项有哪些

小编给大家分享一下网站SEO优化选择关键词的注意事项有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!选择关键词主要有以下5点需要注意:1、不要选择生活常用词和
2023-06-10

CentOS搭建web服务器的运维及性能优化注意事项

在搭建和运维CentOS上的Web服务器时,以下是一些注意事项和性能优化建议:1. 安全性注意事项:- 定期更新操作系统和软件包,以获取最新的安全补丁。- 使用防火墙来限制对服务器的访问,只允许必要的端口。- 禁用不必要的服务和功能,减少攻
2023-10-09

CentOS搭建web服务器的运维及性能优化注意事项

CentOSWeb服务器运维及性能优化注意事项运维定期更新系统和软件监控系统和服务记录和分析日志备份数据实施安全措施测试和演练性能优化硬件充足的RAM固态硬盘多核CPU软件高性能Web服务器启用缓存优化代码数据库优化网络使用CDN优化DNS设置使用负载平衡器其他监控性能指标实施CI/CD与服务提供商合作
CentOS搭建web服务器的运维及性能优化注意事项
2024-04-10

PHP-FPM性能优化:提高网站表单处理速度的注意事项

导言:随着互联网的迅猛发展,网站表单已成为用户与网站进行交互的重要方式之一。然而,随着用户量的不断增加和用户行为的复杂化,网站表单处理速度的要求也越来越高。PHP-FPM是一种提供高性能的PHP FastCGI管理器,可以通过一些优化措施,
2023-10-21

阿里云服务器传输数据方法、注意事项及优化策略

阿里云服务器作为云计算服务的重要组成部分,其数据传输功能的性能和稳定性直接影响着用户的业务体验。本文将深入解析阿里云服务器传输数据的方法,以及在使用过程中需要注意的事项和优化策略,帮助用户更好地利用阿里云服务器进行数据传输。一、阿里云服务器传输数据的方法阿里云服务器支持多种数据传输方式,包括FTP、SFTP、SC
阿里云服务器传输数据方法、注意事项及优化策略
2023-11-07

编程热搜

目录