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

你还在 Select * 吗?

短信预约 -IT技能 免费直播动态提醒
省份

北京

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

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

看不清楚,换张图片

免费获取短信验证码

你还在 Select * 吗?

应用程序慢如牛,原因多多,可能是网络的原因、可能是系统架构的原因,还有可能是数据库的原因。

那么如何提高数据库SQL语句执行速度呢?有人会说性能调优是数据库管理员(DBA)的事,然而性能调优跟程序员们也有莫大的关系。

你还在 Select * 吗?

程序中嵌入的一行行的SQL语句,如果使用了一些优化小技巧,定能达到事半功倍的效果。

技巧1 比较运算符能用 “=” 就不用 “<>”

“=”增加了索引的使用几率。

技巧2 明知只有一条查询结果,那请使用 “LIMIT 1”

“LIMIT 1”可以避免全表扫描,找到对应结果就不会再继续扫描了。

技巧3 为列选择合适的数据类型

能用TINYINT就不用SMALLINT,能用SMALLINT就不用INT,道理你懂的,磁盘和内存消耗越小越好嘛。

1.1 在MySql中如何定义像Java中类型的Boolean类型数据?其实,mysql中 是没有直接定义成Boolean这种数据类型,它只能        定义成 tinyint(1) ;当booean 等于1 代表true,boolean 等于2的时候代表false;

1.2 Long型数据对应MySQL数据库中 bigint 数据类型;

技巧4 将大的DELETE,UPDATE  or  INSERT 查询变成多个小查询

能写一个几十行、几百行的SQL语句是不是显得逼格很高?然而,为了达到更好的性能以及更好的数据控制,你可以将他们变成多个小查询。

你还在 Select * 吗?

技巧5  使用UNION ALL 代替 UNION,如果结果集允许重复的话

因为 UNION ALL 不去重,效率高于 UNION。

技巧6 为获得相同结果集的多次执行,请保持SQL语句前后一致

这样做的目的是为了充分利用查询缓冲。

比如根据地域和产品id查询产品价格,第一次使用了:

 你还在 Select * 吗?

那么第二次同样的查询,请保持以上语句的一致性,比如不要将where语句里面的id和region位置调换顺序。

技巧7 尽量避免使用 “ SELECT  * ”

如果不查询表中所有的列,尽量避免使用 SELECT *,因为它会进行全表扫描,不能有效利用索引,增大了数据库服务器的负担,以及它与应用程序客户端之间的网络IO开销。

你还在 Select * 吗?

技巧8 WHERE 子句里面的列尽量被索引

只是“尽量”哦,并不是说所有的列。因地制宜,根据实际情况进行调整,因为有时索引太多也会降低性能。

技巧9 JOIN 子句里面的列尽量被索引

同样只是“尽量”哦,并不是说所有的列。

技巧10 ORDER BY 的列尽量被索引

ORDER BY的列如果被索引,性能也会更好。

技巧11 使用 LIMIT 实现分页逻辑

不仅提高了性能,同时减少了不必要的数据库和应用间的网络传输。

技巧12 使用 EXPLAIN 关键字去查看执行计划

EXPLAIN 可以检查索引使用情况以及扫描的行。

其他

SQL调优方法有很多种,同样的查询结果可以有很多种不同的查询方式。其实最好的方法就是在开发环境中用最贴近真实的数据集和硬件环境进行测试,然后再发布到生产环境中。

以上所述是小编给大家介绍的MySql Select *详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对亿速云网站的支持!

免责声明:

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

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

你还在 Select * 吗?

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

下载Word文档

猜你喜欢

更新win11软件还在吗

本篇内容主要讲解“更新win11软件还在吗”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“更新win11软件还在吗”吧!更新win11软件还在吗答:所有软件都在。 1、正常情况下,更新win11是
2023-07-01

阿里云服务器买了还能退吗?现在还能退吗?

在云计算的快速发展下,阿里云服务器作为一款优秀的云计算产品,已经得到了广泛的应用和认可。然而,在购买阿里云服务器的过程中,用户可能会遇到各种各样的问题,其中最为常见的一种就是:我购买了阿里云服务器,但是我并不需要,想退掉,但是现在还能退吗?文章正文:阿里云服务器购买后能否退,主要取决于阿里云服务器的购买方式和退订
阿里云服务器买了还能退吗?现在还能退吗?
2023-11-19

win11升级后数据还在吗

今天小编给大家分享一下win11升级后数据还在吗的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。win11升级后数据还在吗:答
2023-07-01

JDK20又来了!你还在用JDK8么?

文章目录 前言JDK 20发布JDK20下载JDK 20新特性矢量API虚拟线程(第二次优化)结构化并发Scoped values 作用域值记录模式(第二次优化)外部函数和内存APIswitch语句和表达式的模式匹配 写在最后
2023-08-30

支付宝现在还安全吗

支付宝现在还安全。支付宝在安全方面采取了一系列的措施来确保用户的资金和信息安全,使用了SSL技术来加密用户的交易信息,确保交易过程中的数据传输安全。支付宝拥有庞大的风控团队和反欺诈算法,可以及时发现并阻止异常交易,采用了多种技术手段,如风险
2023-07-28

云服务器需求大吗现在还有吗

云服务器可以提供多种服务,包括负载均衡、弹性伸缩、高可用性、安全性、可靠性等等。其中,负载均衡是云服务器中最核心的服务之一,它可以根据用户的请求,将不同的应用程序分配到不同的服务器上,从而提高计算资源的利用率。弹性伸缩是云服务器中最基本的服务之一,它可以自动分配服务器资源,以满足不同的应用程序需求。高可用性和安全性则是
云服务器需求大吗现在还有吗
2023-10-28

你还记得数据库三范式吗? - 熊泽

前言“学长,SqlServer数据库三范式可以简单帮我理解一下吗?”。学妹的一句话把我问蒙了,因为三范式的概念早就丢到外太空去了。但是呢,我不能直接说我忘记了,为了不影响在学妹心目中的形象(你懂的),我还特意去百度查了一下。然后整理了一下,大家如果有和我一样忘
你还记得数据库三范式吗? - 熊泽
2019-12-11

云服务器值得买吗现在还有吗

云服务器是一种常见的计算资源租赁服务,它通常用于在线存储和处理大量数据,并提供按需扩展和访问的灵活性。与传统的数据中心相比,云服务器具有以下优点:弹性扩展:云服务器可以根据客户的需求和资源可用性动态地增加或减少容量,以支持快速增长的需求。按需提供:云服务器提供了一种按需提供的模式,用户可以根据自己的需求选择合适的容量,无需支付额外的费用。可用性优化:云服务器通过自动化配置和监控来提高服务
2023-10-26

澳洲亚马逊服务器炸了还能用吗现在还能用吗安全吗

至于安全问题,亚马逊一直致力于确保其云服务的安全性,并已经采取了多项措施来保护用户数据的安全。建议用户定期备份数据,并使用强密码和多因素身份验证来保护自己的账户。此外,亚马逊还提供了一些额外的安全选项,例如虚拟专用网络(VPN)来保护网络之间的通信。总的来说,亚马逊的云服务是安全的,用户可以放心使用。
2023-10-27

云服务器需求大吗?现在还有吗?

1.云服务器需求的增长随着数字化时代的到来,云计算技术的发展和普及,云服务器的需求呈现出快速增长的趋势。越来越多的企业和个人意识到云服务器的优势,纷纷选择将自己的数据和应用迁移到云端。云服务器的需求大体上可以分为两个方面:企业需求和个人需求。企业方面,随着企业规模的扩大和业务的增长,对于数据存储和处理能力的需求也越来越大。而个人方面,随着移动互联网的普及和个人数字化需求的增加,个人用户对于云服务器的...
2023-10-27

域名到期后备案还在吗

域名到期后备案还在吗?icp备案通常是针对具体的域名进行的,目的是为了确保该域名下的网站内容符合相关法规和规定。在大多数情况下,如果一个域名到期后没有被续费,那么该域名将会暂时停止解析,并且网站也将无法访问。然而,域名到期未续费不会直接影响icp备案。
域名到期后备案还在吗
2024-01-23

编程热搜

目录