是否應該使用複雜的sql來實現業務邏輯呢

2021-10-04 22:11:58 字數 512 閱讀 7569

上回說到,在看同事**的時候,在進行**篩選的時候用到的stream的新特性,能很方便的在list中進行資料的篩選。我還特寫寫了一篇部落格來記錄下這些比較好玩的語法。但是**繼續看,我發現了我比較驚訝的乙個問題,sql寫得有點複雜。

首先說明一下,這裡說的sql比較複雜,倒並不是動不動幾百行那麼誇張,也就是用了多張表關聯然後加上一些比較生僻的函式之類的。其實對於我個人的想法來說,我覺得越簡單越好,為什麼呢?就這次合**來說,由於jar包的衝突導致必須重新公升級jetty容器,還有就是有些sql的用法在資料庫中使用沒有問題,但是有些資料庫的jar包在用的時候就會報錯。最重要的時,有些複雜的sql真的很難懂!!是的,很難懂,也有可能是自己的sql不是很強吧,但我真的是被那些複雜的sql弄怕了。以前接手乙個應用市場的專案時,那裡面的sql真的寫得非常的複雜。結果就導致要看懂乙個sql都非常的費時間,特別是當需要改需求的時候,簡直就是噩夢。所以從那以後,我在寫sql的時候,能把邏輯寫在業務裡面,絕不寫在sql裡面。

我把我的意見和同事說了下,同事也很無賴,他自己不喜歡多寫**。唉

SQL語句技巧 複雜邏輯的SQL簡單實現(1)

最近公司同事碰到需求,實現乙個功能,想用乙個sq語句實現,他讓我看看如何實現sql。由於前期做培訓時說到儘量減少和資料庫的互動,能一條sql取出來就不用兩次sql語句 create table dbo zping.com id varchar 32 notnull,objid varchar 32 ...

使用SQL語句來判斷資料庫中時間,是否為當日時間

1.專案情景 這兩天寫功能時,有一條是使用者簽到,當天只能簽到一次。一直想的是將系統當前時間和資料庫中的最近時間進行比較。但具體怎麼處理資料庫中datatime型別的資料一直沒有頭緒。2.sql語句解決 select count 1 from sign detail where date forma...

使用Redis來實現LBS的應用

目標 查詢附近的某某某,由近到遠返回結果,且結果中有與目標點的距離。針對查詢附近的某某某,提出兩個方案,如下 方案a 本方案前,請先閱讀 基於lbs功能應用的geohash方案,看過該文章便可簡單知道 1 僅需每分鐘將使用者的經緯度,上報到資料庫 2 然後每次使用者查詢附近好友時,通過 like w...