Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MySQL 的性能优化

MySQL 的性能优化

作者头像
玖柒的小窝
修改于 2021-09-22 02:55:12
修改于 2021-09-22 02:55:12
6430
举报
文章被收录于专栏:各类技术文章~各类技术文章~

为搜索字段创建索引。避免使用 select *,列出需要查询的字段。垂直分割分表。选择正确的存储引擎。

    1.索引优化

    2.添加查询缓存

    3.优化数据库SQL语句

    4.数据库Cluster

    1>首先,开启慢查询global【配置文件】,(标准可以自定义),通过分析日志文件或直接show,查看哪些查询较慢.

    2>针对这条sql,添加Explain,查看其执行计划,查询数据条数/索引等

        优化:

        1.创建index索引,会占用存储空间,而且会降低DML操作的效率(做增删改需要维护索引),一般在sql中的where或者order by字段建立索引

        2.通过查询缓存,可以开启Mybatis的二级缓存,自定义实现Mybatis+redis/Ehcache结合,需要注意的是,只对结果缓存,缓存结果要放在以业务逻辑相关为划分单位。缓存原则是对那些查询需求远大于增删改需求的数据

        除此之外,尽量不要在where子句中使用函数,会使索引失效

        如果已经确定查询结果只有一条数据(当表中数据的该字段是唯一的),在查询SQL末尾增加 limit 1

        模糊查询尽量使用右模糊,左模糊会使索引失效

        如果非要使用表连接,最好要保证连接的两个字段都是创建了索引的

        避免使用select *

        尽量使用非空  not null,可以使用‘’空串代替null。因为‘’不占用空间,null会占用空间的

        在SQL语句中不要有运算,否则MySQL会放弃索引。

        对于百万级以上的表数据,如果要做表连接查询,一定要对表先分页,然后对分页结果再做表连接。也可以不用表连接

        nginx(负载均衡)  读写分离(MyCat) 主从复制(修改配置文件)

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用反向代理加速 Jenkins 插件下载
训练营进行到 DevOps 部分了,上节课讲解 Jenkins 动态 Slave 的时候翻车了,我们知道 Jenkins 安装的时候会让我们选择安装一些推荐的插件,但是由于默认的官方源下载实在是太慢,对于我们直播这种场景来说实在是太不友好了。之前的版本中我反复测试过将 Jenkins 目录下面的 default.json 文件里面的源地址更改成清华大学的源,以及将 google 更改成 baidu,然后重启 Jenkins,安装插件的时候就非常快了。结果这一次直播的时候更改完成之后,重启就直接跳转到了 Jenkins 的主页去了,几乎就没有安装什么插件,所以在做试验的时候非常麻烦。最后是通过优先安装中文插件,然后使用中文社区的插件更新源来解决的,但是在获取插件列表的时候还是非常卡,安装的时候倒是快了不少,不知道是不是我使用的姿势不对,总之直播翻车了,浪费了很多时间,所以我们得重新讲解一次。
我是阳明
2020/06/15
1.4K0
Jenkins在kubernetes上的落地实践
创建pv/pvc对象,这里我们要注意nfs提供给jenkins的存储目录的权限问题,否则服务因为权限无法写入数据:
公众号: 云原生生态圈
2020/06/15
8300
Jenkins在kubernetes上的落地实践
基于 Kubernetes 构建企业 Jenkins 持续集成平台
3、Jnekins Pipeline 介绍与动态生成 Jenkins Slave
DevOps持续交付
2020/05/29
2.4K0
基于 Kubernetes 构建企业 Jenkins 持续集成平台
TKE上动态部署jenkins slaves
本章我们来讲一下如何在TKE上搭建jenkins这个CI/CD工具,这边我们在进行构建的时候可以自动生成一个slave pod来进行走流水线,流水线跑完之后会自动销毁。
聂伟星
2020/08/18
6770
【Kubernetes系列】第8篇 CI/CD之组件部署
应对敏捷开发的需求,对CI(持续集成))/CD(持续交付)的提出了更高的标准,今天来讨论下,如何基于开源组件(gitlab/jenkins/harbor/kubernetes)使用CI/CD,赋能团队的开发、运维。
HankerCloud
2019/10/24
7940
【Kubernetes系列】第8篇 CI/CD之组件部署
4.Jenkins进阶之分布式架构环境配置
描述: 我们在使用Jenkins的时候一般都会分为server节点与agent节点(也可以叫 slave 节点)。
全栈工程师修炼指南
2022/09/29
2.8K0
4.Jenkins进阶之分布式架构环境配置
云原生(三十八) | Kubernetes篇之Jenkins入门和安装
点击《系统管理》—>《Configure System》—>《配置一个云》—>《kubernetes》,如下:
Lansonli
2022/10/30
6980
云原生(三十八) | Kubernetes篇之Jenkins入门和安装
在kubernetes中部署Jenkins并简单使用
之前我们都是在物理机或者虚拟机上部署jenkins,但是这种部署方式会有一些难点,如下:
极客运维圈
2020/06/16
2K0
在kubernetes中部署Jenkins并简单使用
kubernetes(十四) 基于kubernetes的jenkins持续集成
-参考:https://github.com/jenkinsci/kubernetes
alexhuiwang
2020/09/23
2.3K0
kubernetes(十四) 基于kubernetes的jenkins持续集成
基于K8s的Jenkins持续集成实战(上)
Jenkins是一款广泛受到的欢迎的持续集成工具,有着丰富的插件以及扩展能力,基本上能够满足大多数团队的需求。本文将从工具使用的角度,来讲述如何在kubernetes集群中使用Jenkins作为持续集成工具。
100000798482
2020/03/25
5290
Kubernetes配合Jenkins实现轻量自动持续集成
之前写的Spinnaker自动化部署,部署复杂,依赖环境多,所以才有这一篇比较轻量级的自动化持续集成,需要用到的环境有Kubernetes-1.23、harbor、Jenkins、Helm、gitlab都是devops常见组件。
王先森sec
2023/04/24
2.9K0
Kubernetes配合Jenkins实现轻量自动持续集成
利用 Kubernetes 内置 PodTemplate 管理 Jenkins 构建节点
Jenkins 可以很好地与 Kubernetes 集成,不管是控制器(controller)还是构建节点(agent),都能以 Pod 的形式运行在 Kubernetes 上。 熟悉 Jenkins 的用户,都知道 Jenkins 支持多种类型的构建节点,例如:固定配置、动态配置。而节点与控制器连接的方式, 又包括:JNLP、SSH 等。对于已经在全面拥抱容器技术的用户,大多数是通过连接 Kubernetes 集群并动态启动、销毁 Pod 的方式来使用构建节点。 而随着构建节点的种类、数量增多后,如何更有效地维护这些基于 Kubernetes 的节点,则逐渐成为一个问题。而在这篇文章中, 我将会介绍一种基于配置即代码的方案来管理、维护构建节点。
LinuxSuRen
2022/12/01
1.4K0
使用 Jenkins Pipeline 流水线部署 Kubernetes 应用
要实现在 Jenkins 中的构建工作,可以有多种方式,我们这里采用比较常用的 Pipeline 这种方式。Pipeline,简单来说,就是一套运行在 Jenkins 上的工作流框架,将原来独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排和可视化的工作。
我是阳明
2021/06/25
5.3K0
使用 Jenkins Pipeline 流水线部署 Kubernetes 应用
我要在k8s上部署jenkins(简单)
ServiceAccount它代表一个应用程序或者组件,并具有访问集群中Kubernetes API的令牌
dgds
2023/05/25
3K0
kubernetes 基于jenkins spinnaker的ci/cd实践二sonarqube的安装与简单使用
顺序有点乱了在ci/cd过程中应该是先进行代码的静态扫描再去进行扫描镜像的呢,就佛系的写了。反正步骤都是独立的。这里写一下sonarqube的安装与集成,估计实践的我还要好好研究一下!
对你无可奈何
2021/11/23
1.1K0
三万字无坑搭建基于Docker+K8S+GitLab/SVN+Jenkins+Harbor持续集成交付环境!!
作者个人研发的在高并发场景下,提供的简单、稳定、可扩展的延迟消息队列框架,具有精准的定时任务和延迟队列处理功能。自开源半年多以来,已成功为十几家中小型企业提供了精准定时调度方案,经受住了生产环境的考验。为使更多童鞋受益,现给出开源框架地址:
冰河
2020/12/24
6K2
三万字无坑搭建基于Docker+K8S+GitLab/SVN+Jenkins+Harbor持续集成交付环境!!
如何使用 Jenkins Pipeline 流水线优雅的部署 Kubernetes 应用
虽然云原生时代有了 JenkinsX[1]、Drone[2]、Tekton[3] 这样的后起之秀,但 Jenkins 这样一个老牌的 CI/CD 工具仍是各大公司主流的使用方案。比如我司的私有云产品打包发布就是用这老家伙完成的。然而传统的 Jenkins Slave 一主多从方式会存在一些痛点,比如:
iMike
2021/07/01
2.2K0
Jenkins Pipeline 流水线部署 Kubernetes 应用
虽然云原生时代有了Jenkins X、Drone、Tekton 这样的后起之秀,但 Jenkins 这样一个老牌的 CI/CD 工具仍是各大公司主流的使用方案。
DevOps时代
2021/12/05
1.7K0
Jenkins Pipeline 流水线部署 Kubernetes 应用
Gitlab CI 在 Kubernetes 中的 Docker 缓存
前面我们有文章介绍过如何在 Kubernetes 集群中使用 GitLab CI 来实现 CI/CD,在构建镜像的环节我们基本上都是使用的 Docker On Docker 的模式,这是因为 Kubernetes 集群使用的是 Docker 这种容器运行时,所以我们可以将宿主机的 docker.sock 文件挂载到容器中构建镜像,而最近我们在使用 Kubernetes 1.22.X 版本后将容器运行时更改为了 Containerd,这样节点上没有可用的 Docker 服务了,这个时候就需要更改构建镜像的模式了,当然要实现构建镜像的方式有很多,我们这里还是选择使用 Docker 来构建我们的 Docker 镜像,也就是使用 Docker IN Docker 的模式。
我是阳明
2021/11/17
1.6K0
第2章 Jenkins Server的安装部署方式
本章阐述Jenkins Server的安装部署方式。基于Tomcat、CentOS、MacOS、Docker、Kubernetes、Windows部署。部署后的基础配置。
DevOps云学堂
2020/07/24
1.2K0
第2章 Jenkins Server的安装部署方式
推荐阅读
相关推荐
使用反向代理加速 Jenkins 插件下载
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档