mysql查询时间区间的数据
前言最近在做项目涉及到Mysql的复杂日期查询,日期查询其实在数据库中查询其实还是用得挺多的,比如查询开始日期到结束日期的区间信息,查询日期小于有效日期的信息,查询当天的日期,明天的日期,做比较等。查...
2024.11.15引言:
昨天查询数据库的时还正常,今早来上班时,SQL语句查询就突然变得很慢了。这样的情况我相信你一定遇到过。 下面就让小编来带你了解其中的原因吧!
本篇文章简单总结了一下可能导致数据库查询慢的原因,希望能给大家后续查询优化提供一下指导。
SQL语句查询突然变得很慢,常见的情况有以下几种:
电脑系统内存不足和咱们的电脑一样,当内存不足的时候,就会变得很卡!
网速突然降速了当网络速度变慢,HTTP 的请求也会变慢!
你所写的SQL语句不是最优解两个原则
两条快于一条:
第一条SQL语句中,where查询语句中出现了null,这样就是导致数据库的引擎不会使用索引,而采取的是进行全表扫描一遍,这样的查询就会变得很慢。如果使用0来代替null,即为第二条SQL语句,则数据库查询运行速度的就会提高
精准快于全表:
很明显,第一条SQL语句的执行速度要比第二条SQL语句快的多。因为第一条SQL语句使用的是精准查询,索引查询;第二条SQL语句是将表中所有的数据都检索一遍,相当于全表查询,这样是很消耗时间的和资源的。
查询的数据库数据量变得很大当你SQL Server 中所查询的数据量很大时,也会造成你的数据库很慢。
比方说 :我有一个数据量达到几百万的商品表,现在我需要查里面某些商品的信息,这样的查询也会很慢哦!例如:
表中数据上百万的数据量,要在这海量的数据中找到你所需要的商品信息,如果你写上这样的SQL语句,查询速度必须慢!
解决方案:
使用索引:
//--建立索引这样的情况下,可以明显增加查询时间。因为使用了索引,可以在海量的数据中,快速的找到你所需要的信息,而不是在上百万的表数据中,一个个的检索到你所需要的信息。
数据库发生死锁现象我们知道当程序发生死锁现象之后,程序就会卡在那个位置会变得很慢,很慢甚至一点都不动。所以,当你的SQL语句出现死锁现象之后,数据库查询也会很慢!
数据库死锁现象是指:两个或者是两个以上的SQL语句,争相访问同一个数据表,并且在第一天SQL语句访问表的时候,同时将数据表给锁住了。就会造成第二条,第三条SQL语句不能访问到表而进行迟迟等待。如果没有人员原因干预的话,就是一直处于这种状态下,所以叫做死锁。
解决方法:
这种SQL语句发送死锁现象,一般都是bug造成的。修改程序的逻辑顺序,给出一个合适的程序执行逻辑顺序。避免同时锁定两个资源的现象发生。给SQL语句安排一个先后顺序。
I/O 执行响应时间太长我们都知道木桶原理,决定盛水多少的,不是长木板而是那些短木板。同样,对于数据库而言 ,电脑系统的硬件设备 ——磁盘I/O 则是短木板。在程序执行中,我们经常会发现系统中的I/O,一直在不停地执行,而CPU却在清闲的等待。造成这种原因的发生是因为,磁盘的I/O(即磁盘的读写速度)远远跟不上CPU的处理速度。
优化方案:
1. 尽可能的将程序放到内存中去执行
2. 当读写I/O响应速度跟不上时,增加硬盘的个数,扩大存储
3. 尽可能的选择一些读写速度高的磁盘来解决问题(ssd)
End当第二天打开电脑时,发现数据库变得缓慢时,不妨试一试上面的方法,一定可以有意想不到的惊喜收获。
以上是例举了一些常用的方法,如果你有第N+1种方法,欢迎留言区留言探讨~
网站崩溃找不到原因?平台搭建无从下手?热门技术不想落伍?想要变强找不到资料?
加入[IT拯救联盟],让大牛和同伴拯救你,带你装x带你飞。群里有定期干货分享、大牛专业解答、实用IT工具优选.....
私信小编“联盟”,即可加入我们~
前言最近在做项目涉及到Mysql的复杂日期查询,日期查询其实在数据库中查询其实还是用得挺多的,比如查询开始日期到结束日期的区间信息,查询日期小于有效日期的信息,查询当天的日期,明天的日期,做比较等。查...
2024.11.15在设计MySQL索引时,需要考虑以下八大原则:最左前缀原则:复合索引按照从左到右的顺序进行匹配,如果查询条件中包含了复合索引的最左侧的列,则该索引会被使用。选择性原则:索引的选择性越高,即不同值之间的...
2024.11.12一、查询某一天的周数SQL Server计算周数时会算上年初的不满的一周。Mysql计算周数时不会算上年初的不满的一周1.1(SQL Server)在 SQL Server 中默认情况下,每周的开始都...
2024.11.08专注于Java领域优质技术号,欢迎关注作者:唐立勇一、什么影响了数据库查询速度1.1 影响数据库查询速度的四个因素1.2 风险分析QPS: QueriesPerSecond意思是“每秒查询率”,是一台...
2024.11.12作者:高鹏文章末尾有他著作的《深入理解 MySQL 主从原理 32 讲》,深入透彻理解 MySQL 主从,GTID 相关技术知识。这个问题是最近一个朋友问我的。刚好就好好看了一下,留下这样的记录。本文...
2024.11.12