在实际业务中SQL一般要掌握到什么程度才行?

46 阅读1分钟

说起来惭愧,工作十几年,几乎没怎么写过复杂的sql。一般会表关联,懂的一些sql的调优就可以了。

如果你去一家公司,做的是开发,但是经常要写复杂的sql,那你一定要在这个时候,清醒一下。

这家公司真的合适你吗?

我去过那么多公司,但凡是日常开发中,经常写复杂sql的,都是很差的公司。因为好一点的公司,是不允许你这么干的。

需要经常写复杂sql的公司,我见过的哈,基本都有如下几个特点:

  • 乱,完全没规范,完全没有基础设施,你怎么写,也没人管,N多张表,随意关联;
  • 周围都是很随意的人,水平也都比较差;

在这种公司,基本成长不了,还惹来了一堆坏习惯。

好一些的公司,都是会明确要求你:

sql尽量写简单,能单表查询的就单表查询。就算要join的。也尽量不要超过3张表。

因此我想说的是,所谓的掌握SQL。说的是,写简单的sql,然后注意性能。

因此,索引调优,是重点,掌握这个就可以了。覆盖日常开发的大部分情况了。

当然为了能更好的将sql性能搞好,一些mysql的基础知识和原理,也是要去搞懂的。

比如说:

  • innodb;
  • 锁;
  • 索引;
  • mysql的架构设计;
  • sql在底层的执行过程;

所以不要有心理压力,觉得一定得会写复杂的sql,就算偶尔需要写。那也是让AI写,不用你动手的。

写简单的sql,且保证简单的sql有高的执行性能,才是你要去掌握的。