表前缀是个过时的东西。在计算机资源比较昂贵的时代,出于节约成本的需要,会把多个系统的数据放在同一个数据库实例里,所以才会用前缀区分。如今各种云的普及,使这个问题早已经不存在,大家的资源都是冗余的,没有人会把多个系统的表放到同一个库里,这会给运维带来不必要的麻烦。

然而身边总是会遇到胶柱鼓瑟的人,知其然而不知其所以然。表前缀既非必要,又会导致一些问题。

其一是写代码时的困扰。比如我经常会在用查询构造器时忘了给表别名加前缀,直到程序报错才突然想起来。

其二是代码重构的问题。在构造SQL语句的过程中,总是免不了会写原生的语句,这时就得写死表前缀。如果将来表前缀发生变化,重构代码时会麻烦而容易出错。