2011-05-19 59 views
3

下面的查詢工作於MySQL 5.0中MySql的SQL_NO_CACHE發行5.0至5.5

SELECT SQL_NO_CACHE 
    ItemId, 
    AnotherColumn 
FROM 
    TableOne 
UNION 
SELECT SQL_NO_CACHE 
    ItemId, 
    AnotherColumn 
FROM 
    TableTwo 

但是在MySQL 5.5我得到以下錯誤:

MySql.Data.MySqlClient.MySqlException: Incorrect usage/placement of 'SQL_NO_CACHE'

什麼是SQL_NO_CACHE的工會的正確位置疑問?

如果我把SQL_NO_CACHE放在UNION的一邊,它會影響雙方嗎?

回答

5

在MySQL 5.5.3中,你只需要在一個UNION查詢的第一選擇以指定SQL_NO_CACHE:

SELECT SQL_NO_CACHE 
    ItemId, 
    AnotherColumn 
FROM 
    TableOne 
UNION 
SELECT 
    ItemId, 
    AnotherColumn 
FROM 
    TableTwo 

它適用於整個查詢。如果你嘗試在隨後的SELECT語句中指定它,它將會出錯(並且現在也允許在子查詢中使用它)。