rpcpb
取捨原則
語言查詢提供的查詢介面比較靈活。靈活帶來的優點是不言而喻的,它應對未來業務的變化能表現出更好的可擴充套件性,而且給使用者提供的介面也更加簡潔。所謂簡潔是指完成複雜的查詢邏輯只需要少量的語句,說明pl的描述力比較強。
使得後台解析資料的複雜度變大,而且要完全描述出什麼是合法的查詢語句是非常困難的。
靈活帶來的缺點是不確定性增大,一般內部模組在查詢時最好是不要用這樣的方式。因為內部模組之間的查詢方式一般都相對比較固定,變化的概率不大。除非業務發生劇烈變化,否則可以通過擴容查詢介面的方式來解決業務發展帶來的問題。
靈活帶來的另乙個缺點是速度下降,越是靈活的查詢語言在解析方面花費的時間越長。
介面完成的業務功能專一,專一往往就是暗示其具有著高內聚的特性,當然這個也不是絕對的。另一方面是相比起語言來說耦合度比較的低。語言一旦設計不好,就會影響所有這個語言能夠描述的業務。而rpc介面的話只完成某項具體的功能,所以就算介面設計不好,影響也只有使用這個介面的業務。
業務擴充套件時開發效率偏低,需要針對不同的功能增加不同的介面。所以需求一旦多了起來,就會導致維護的介面膨脹,因為rpc的描述力太弱了。
本質上是rpc的擴充套件版本,解決了rpc同乙個功能擴充套件需要新增新介面的帶來的冗餘。
靈活性帶來的效率和解析複雜度下降沒有想象中那麼大,在需要使用靈活度更高的查詢時,果斷應該使用靈活度更高的查詢。查詢方式裡靈活性越來越大依次為:方法呼叫(rpc),結構資訊(protocol buffer),查詢語言(sql)。
Hibernate 查詢方式
hibernate共有三種查詢方式 hql qbc和sql hql寫起來靈活直觀,而且與所熟悉的sql的語法類似。條件查詢 分頁查詢 連線查詢 巢狀查詢,包括一些查詢函式 count sum 等 查詢條件的設定等寫起來與sql語法一致,主要區別就是把表名換成了類或者物件。注意 在hql中關鍵字不區分...
查詢的方式
一 靜態查詢 1 順序表 順序查詢 2 有序表 這般查詢 3 比較難 靜態樹表 構建靜態最優查詢樹 static optimal search tree 但有效率的方式是次優查詢樹 nearly optimal search tree 用途 查詢各元素的概率不同時,找到乙個權值和最小的樹,遞迴構建樹...
查詢的方式
1.查詢常量 select 常量 select 100 顯示表示式 select 表示式 select 98 23 顯示函式 方法 select length john select version 顯示表中的字段 select last name from employees 顯示表中的多個字段 ...