以下查询适用于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的一侧,它会影响双方吗?
答案 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语句中指定它,它将会出错(现在也允许在子查询中使用)。