MySQL篇之SQL优化

一、表的设计优化

表的设计优化(参考阿里开发手册《嵩山版》)

        1. 比如设置合适的数值(tinyint   int   bigint),要根据实际情况选择。

        2. 比如设置合适的字符串类型(char和varchar)char定长效率高,varchar可变长度,效率稍低。

二、SQL语句优化

        1. SELECT语句务必指明字段名称(避免直接使用select * )。

        2. SQL语句要避免造成索引失效的写法。

        3. 尽量用union all代替union   union会多一次过滤,效率低。

        4. 避免在where子句中对字段进行表达式操作。

        5. Join优化 能用innerjoin 就不用left join right join,如必须使用 一定要以小表为驱动。      

        内连接会对两个表进行优化,优先把小表放到外边,把大表放到里边。left join 或 right join,不会重新调整顺序。

三、主从复制、读写分离

        如果数据库的使用场景读的操作比较多的时候,为了避免写的操作所造成的性能影响 可以采用读写分离的架构。 读写分离解决的是,数据库的写入,影响了查询的效率。

四、面试的回答

面试官:sql的优化的经验

候选人:嗯,这个在项目还是挺常见的,当然如果直说sql优化的话,我们会从这几方面考虑,比如:建表的时候、使用索引、sql语句的编写、主从复制,读写分离,还有一个是如果量比较大的话,可以考虑分库分表。

面试官:创建表的时候,你们是如何优化的呢?

候选人:这个我们主要参考的阿里出的那个开发手册《嵩山版》,就比如,在定义字段的时候需要结合字段的内容来选择合适的类型,如果是数值的话,像tinyint、int 、bigint这些类型,要根据实际情况选择。如果是字符串类型,也是结合存储的内容来选择char和varchar或者text类型。

面试官:那在使用索引的时候,是如何优化呢?

候选人:【参考索引创建原则 进行描述】

面试官:你平时对sql语句做了哪些优化呢?

候选人:嗯,这个也有很多,比如SELECT语句务必指明字段名称,不要直接使用select * ,还有就是要注意SQL语句避免造成索引失效的写法;如果是聚合查询,尽量用union all代替union ,union会多一次过滤,效率比较低;如果是表关联的话,尽量使用innerjoin ,不要使用用left join right join,如必须使用 一定要以小表为驱动。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/259242.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在Linux系统中配置并优化硬盘的RAID

在Linux系统中配置和优化硬盘的RAID技术可以帮助提高数据存储性能和安全性。RAID(Redundant Array of Independent Disks)技术通过将多个硬盘组合起来,以增加性能、容量或冗余度,提高数据的可靠性和可用性。本文将介绍如何在Linux…

51_蓝桥杯_蜂鸣器与继电器

一 电路 二 蜂鸣器与继电器工作原理 2.1蜂鸣器与继电器 2.2 十六进制与二进制 二进制 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 十六进制 0 1 2 3 4 5 6 7 8 9 A B C D E F 2.3非门 二 代码 …

网络防御保护——防火墙综合实验

一.实验拓扑 二.实验要求 1.办公区设备可以通过电信和移动两条链路上网(多对多的nat,并且需要保留一个公网ip不能用来转换)。 2.分公司设备可以通过移动链路和电信链路访问到dmz区域的http服务器。 3.分公司内部客户端可以通过公网地址访问到内部服务器。 4.FW1和FW…

爬虫-华为云空间备忘录导出到docx-selenium控制浏览器行为-python数据处理

背景适用情况介绍 老的荣耀手机属于华为云系统,家里人换了新荣耀手机属于荣耀云系统无法通过云空间将备忘录转移到新手机,不想让他们一个一个搞,于是整了一晚上想办法爬取下来。从网页抓取下来,然后存到docx文档中(包…

Stable Diffusion教程——stable diffusion基础原理详解与安装秋叶整合包进行出图测试

前言 在2022年,人工智能创作内容(AIGC)成为了AI领域的热门话题之一。在ChatGPT问世之前,AI绘画以其独特的创意和便捷的创作工具迅速走红,引起了广泛关注。随着一系列以Stable Diffusion、Midjourney、NovelAI等为代表…

分享一个学英语的网站

名字叫:公益大米网​​​​​​​ Freerice 这个网站是以做题的形式来记忆单词,题干是一个单词,给出4个选项,需要选出其中最接近题干单词的选项。 答对可以获得10粒大米,网站的创办者负责捐赠。如图 触发某些条件&a…

Spring AOP的实现方式

AOP基本概念 Spring框架的两大核心:IoC和AOP AOP:Aspect Oriented Programming(面向切面编程) AOP是一种思想,是对某一类事情的集中处理 面向切面编程:切面就是指某一类特定的问题,所以AOP可…

167基于matlab的根据《液体动静压轴承》编写的有回油槽径向静压轴承的程序

基于matlab的根据《液体动静压轴承》编写的有回油槽径向静压轴承的程序,可显示承载能力、压强、刚度及温升等图谱.程序已调通,可直接运行。 167 显示承载能力、压强、刚度及温升 (xiaohongshu.com)https://www.xiaohongshu.com/explore/65d212b200000000…

【监控】spring actuator源码速读

目录 1.前言 2.先搂一眼EndPoint 3.EndPoint如何被注入 4.EndPoint如何被暴露 4.1.如何通过http暴露 4.2.如何通过jmx暴露 5.EndPoint是怎么实现监控能力的 6.知道这些的意义是什么 1.前言 版本:spring-boot-starter-actuator 2.6.3 阅读源码一定要带着疑…

Linux第47步_安装支持linux的第三方库和mkimage工具

安装支持linux的第三方库和mkimage工具,做好移植前的准备工作。 编译linux内核之前,需要先在 ubuntu上安装“lzop库”和“libssl-dev库”,否则内核编译会失败。 mkimage工具会在zImage镜像文件的前面添加0x40个字节的头部信息,就可以得到uI…

VQ35 评论替换和去除(char_length()和replace函数的使用)

代码 select id ,replace(comment,,,) as comment from comment_detail where char_length(comment)>3知识点 要注意替换的是中文逗号 由于题目说的是汉字长度大于3,所以这里就要使用char_length()而不是length() char_length():单位为字…

IT行业高含金量证书全解析:开启职业生涯新篇章

在快速发展的IT行业,持续学习和专业认证是提升个人竞争力的重要途径。全球范围内存在着众多的IT认证,它们不仅能够验证你的技术能力,还能在求职和职业晋升中起到关键作用。 本篇博客将深入探讨IT行业中部分高含金量的证书,包括中…

详解Sora,为什么是AGI的又一个里程碑时刻?

文|郝 鑫 编|王一粟、刘雨琦 2024年伊始,OpenAI再向世界扔了一枚AI炸弹——视频生成模型Sora。 一如一年前的ChatGPT,Sora被认为是AGI(通用人工智能)的又一个里程碑时刻。 “Sora意味着AGI实现将从1…

浅谈js事件机制

事件是什么?事件模型? 原始事件模型(DOM0级) HTML代码中指定属性值:在js代码中指定属性值:优点:缺点: IE 事件模型DOM2事件模型 对事件循环的理解 宏任务(Macrotasks&…

【机构vip教程】Android SDK手机测试环境搭建

Android SDK 的安装和环境变量的配置 前置条件:需已安装 jdk1.8及 以上版本 1、下载Android SDK,解压后即可(全英文路径);下载地址:http://tools.android-studio.org/index.php/sdk 2、新建一个环境变量&…

【教程】Kotlin语言学习笔记(一)——认识Kotlin(持续更新)

写在前面: 如果文章对你有帮助,记得点赞关注加收藏一波,利于以后需要的时候复习,多谢支持! 【Kotlin语言学习】系列文章 第一章 《认识Kotlin》 文章目录 【Kotlin语言学习】系列文章一、Kotlin介绍二、学习路径 一、…

在职阿里6年,一个28岁女软件测试工程师的心声

简单的先说一下,坐标杭州,16届本科毕业,算上年前在阿里巴巴的面试,一共有面试了有6家公司(因为不想请假,因此只是每个晚上去其他公司面试,所以面试的公司比较少) 其中成功的有4家&am…

阿里云香港轻量应用服务器怎么样,建站速度快吗?

阿里云香港服务器中国香港数据中心网络线路类型BGP多线精品,中国电信CN2高速网络高质量、大规格BGP带宽,运营商精品公网直连中国内地,时延更低,优化海外回中国内地流量的公网线路,可以提高国际业务访问质量。阿里云服务…

跟着pink老师前端入门教程(JavaScript)-day03

四、常量 概念:使用 const 声明的变量称为“常量”。 使用场景:当某个变量永远不会改变的时候,就可以使用 const 来声明,而不是let。 命名规范:和变量一致 常量使用: 注意:常量不允许重新…

今日Arxiv最热大模型论文:大语言模型真的理解上下文了吗?新研究揭示惊人发现

探索大型语言模型的上下文理解能力 在自然语言处理( Natural Language Processing,NLP)领域,理解上下文是把握人类语言的关键。近年来,大语言模型(LLMs)在展示对语言的理解方面取得了令人瞩目的成就。然而…