回覆列表
  • 1 # TonyDeng

    SQL是查詢式語言,語句負責發出要求,具體實現演算法由資料庫實現,亦即不同資料庫的效率未必一樣,看實現者的能力和資料庫性質。就你所說的條件,這在底層實現上一定是要有索引才見效率的,所以庫表本身有沒有索引是關鍵,沒有要臨時建立,對前者,判斷有上下兩條邊界,兩個判斷環節,後者則只要一個,會稍微快點。

  • 2 # 一米ymia

    不同型別資料庫的場景和執行計劃都有區別,但從原理上來說,應該都差不多,sql語句中的between與等號寫法基本都是等價的

    提供一個MySQL例項參考。

    mysql版本:5.5.7

    查詢語句

    查詢1000張表,記錄為10000條,查詢包括= 三個條件

    2.測試1

    單個長連線,持續測試60s,關快取

    2.1 <=,>=

    2.2 between

    2.測試2

    單個長連線,持續測試60s,開快取

    3.2 between

    4.結論

    between效能稍微不是很明顯多一些,這兩個語句應該是等價的,唯一的可能是<=,>=需要提供兩次整數引數,而between只需要一次引數,節省了查詢語句長度和傳輸資料大小。

  • 中秋節和大豐收的關聯?
  • 新長安星卡和祥菱v哪個更安全?