说到踩坑之旅,可以说每一个技术人都多多少少会踩坑,不管是大的或者小的坑,总是会遇到的。
俗话说的好,“常在河边走哪有不湿鞋”,既然你作为一个技术,作为一个开发者,那么你就是经常走在河边的那个人,踩坑,掉坑的真的是比较常见了。就比如说在日常工作过程中,产品提出一个需求,你听后需求很明白,也没有那么多的弯弯绕的不理解,你是不是就就会以为挺简单了。但是有时候一个简单的需求,实现过程不一定简单,你可能会漏掉业务逻辑的复杂度这些因素。当然,这里主要说的是新技术的“大坑”。最近公司有一个项目需要用到国产达梦数据库,说起来达梦数据库,sql语句以及基本的增删改查和Mysql都差不多,那么就会想当然的以为达梦数据库操作难度不大。而在真正的开发过程中,比如说查询区分大小写?表名区分不同的用户?一个用户可以管理多个模式?GROUP_CONCAT没有这个关键词,取代的是wm_concat;再比如group by后面必须跟order by?聚合分组,那么查询字段必须都在group by 后面。可以说大致上和Mysql差别不大,但是实际操作过程中总是会遇到各种莫名其妙的问题。而当你解决这些莫名其妙问题之后,你会发现这其实就是达梦的语法,只是你不知道而已。
说到爬坑,那么现在还处在爬坑的过程中呢。说到印象最深刻的一次那就是group by 后面必须要跟查询的全部字段,这个确实很让人疑惑,明明不用所有的字段都参与分组,但是却要这么写?虽然这个问题当时需要提示“语句解析失败”的时候也是一头雾水,后来查阅了官方文档也很快解决了,但是这个不参与分组的字段却参与分组的疑问至今仍没想明白,所以就一直记忆深刻。现在开发过程中还是会用到达梦数据库,那么就只能说是“兵来将挡水来土掩”了,不管遇到什么样的数据库操作问题,都迎难而上解决呗。可以说,作为技术人,难免会遇到各种各样的神奇的,玄幻的,没有缘由的情况,那么技术人能做的就是尽可能的规避一切不合理,让一切都变得合理,这样你的应用才能更加稳定持续,对吧。