回到顶部

×
原图

记一次发现问题的过程

MySQL的一个普通查询,,居然这么慢。

之前一直认为是SQL写的有问题?服务器有问题?

然后就开始试,把mybatis写的SQL放到Navicat直接到数据库查,发现查询非常慢,居然要几十秒,多的时候100多s。


好,发现数据库查询这么慢,那就可以排除代码问题(或许代码也要优化,但不是直接影响的),然后为啥回这么慢呢。

把SQL简化成一句单表查询。。。还是一如既往的慢。

SELECT
	articleId,
	CODE,
	articleTitle,
	articleImg,
	articleKeyword,
	articleAbstract,
	articleDetail,
	creationtime,
	updatetime,
	articleAuthor,
	accessNum,
	STATUS,
	articleDate,
	isDeleted,
	thumbsNum,
	parent
FROM
	article


就这样一句查询需要30多s,数据库也就42条数据,然后觉得可能是articleDetail,这个字段太大的原因,把这个字段去掉查询速度就正常了。。

基本确定就是这个问题了,关于怎么优化,还在琢磨。

建索引,或者把这字段单独拿出来放张表建外键关联。


知道问题在哪就好办了,准备后面不这样保存,直接保存这么个大字段好像也不是个办法。

还有几个问题,就是mysql怎么能像debug一样知道SQL的执行过程,=过程中又是哪里影响速度?服务器问题?mysql查询其他的写法?等

这些还不是很明白。


%M8W)T~KE4CJA0QIXAYUB]3.png


还有第一次发问。。还有其他平台的,


154268378752827031396.jpg


154268387878958043211.png


还有各种微信群QQ群,Sf等平台发问。。

好多的地方可以去问,主要是问的方式还需要搞清楚一下。


154268474862228043176.png

还有一个问题,,,对于那些老代码老是舍不得删,就是之前写的然后现在推翻重写就把老得注释。。搞得一推推的注释代码,改删就得删了,虽然有些代码写的不错想法不错花了功夫但是可以复制出来咯,注释太多也乱滴很~


留言评论