MySql SQL_NO_CACHE 5.0和5.5之间的问题

时间:2011-05-19 12:09:07

标签: mysql

以下查询适用于MySql 5.0

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

但是在MySql 5.5中我收到以下错误:

  

MySql.Data.MySqlClient.MySqlException:   使用/放置不正确   'SQL_NO_CACHE'

UNION查询的SQL_NO_CACHE的正确位置是什么?

如果我将SQL_NO_CACHE放在UNION的一侧,它会影响双方吗?

1 个答案:

答案 0 :(得分:5)

从MySql 5.5.3开始,您只需要在UNION查询的第一个SELECT中指定SQL_NO_CACHE:

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

它适用于整个查询。如果您尝试在后续的SELECT语句中指定它,它将会出错(现在也允许在子查询中使用)。