比方說,我有表是這樣的:周圍的一些ID MySQL查詢結果
id: PRIMARY INT
price: INT (in dollars)
typeOfHouse: TINYINT (enumerated house types)
和存在的元組,讓我們說(ID = 3,價格= 1243,typeOfHouse = 20)。
現在我想選擇2個更便宜的房子和2個支出者(2個,2個)。這可能有兩個查詢(UNION)來完成:
SELECT * FROM houses WHERE typeOfHouse=20 AND price>=1243 ORDER BY price LIMIT 3
SELECT * FROM houses WHERE typeOfHouse=20 AND price<=1243 ORDER BY price DESC LIMIT 3
這是一個假設的例子,該情況將會在一般的要複雜得多,所以這個問題是 - 是有可能做到這一點更快在一個查詢,所以條件選擇不必執行兩次。
來自問題:這是一個假設的例子,條件通常會更加複雜,所以問題是 - 是否可以在一個查詢中更快地做到這一點,因此條件選擇不必執行兩次。 –
通過你的努力獲得+1。 –
它取決於條件的複雜程度,表格中的索引以及條件的選擇性。 –