Mysql数据库优化

最近在做数据库迁移的项目,将MsSql数据库迁移到MySql上,单纯是修改Dal层的连接与处理方式即可,但是为了服务的性能进行了稍微的数据库查询优化。

1.关于子查询,在mySql中尽量少用子查询的方式,这种方式可能造成性能差。在此可以使用Join联表查询来代替子查询。

2.关于Join,上面说把子查询搞成Join,但是又有问题了,Join的次数不能太多,我们使用的是innoDB引擎,最好的Join的次数不要超过2次,所以处理Join的方式是使用多次查询的方式

例如,有三张表,ABC,将两张表Join之后查询到cId,在将cId作为参数查C表,同事介绍了使用In方法,即select XXX from C where Id in(,,,,,,);我换成in之后发现性能并没有提升

(当然,In这个性能是有个数限制,需要根据自己的数据类型来确定),后来发现是因为我表中字段是有Text类型还是mediumText,所以瓶颈在这,在执行sql时,99%的时间消耗在

send data上,令我很惆怅。

posted @ 2021-08-16 15:36  DarryRing  阅读(39)  评论(0编辑  收藏  举报