[求助]C#+mysql的一个错误解决_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2194 | 回复: 0   主题: [求助]C#+mysql的一个错误解决        下一篇 
barry
注册用户
等级:中校
经验:1534
发帖:236
精华:2
注册:2012-1-13
状态:离线
发送短消息息给barry 加好友    发送短消息息给barry 发消息
发表于: IP:您无权察看 2014-11-12 10:45:13 | [全部帖] [楼主帖] 楼主

今天BackOffice系统突然出现了一个以前没有的毛病,数据访问层提示错误信息:

{MySql.Data.MySqlClient.MySqlException: The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay


   在 MySql.Data.MySqlClient.PacketReader.CheckForError()

......
......
......


   网上找了半天也没找到相关的解决办法。后来,自己琢磨,SQL语句前面加上SET SQL_MAX_JOIN_SIZE=10;没管用。又分别再在前边加上SET SQL_BIG_SELECTS=1、SET SQL_BIG_SELECTS=10、SET SQL_MAX_JOIN_SIZE=#等待 ,都不成。以为方向不对,放弃了。

  中午吃饭回来,又试了下SQL_MAX_JOIN_SIZE=100000,还不行。突然,发现错误信息里SET SQL_BIG_SELECTS=1 和SET SQL_MAX_JOIN_SIZE=# 之间用的是“or”连接的,就试了下只设置SET SQL_BIG_SELECTS=1,居然过了!

  我的系统是C#+mysql,SQL语句里用了7个left join,SElect 出来后也只有96行,以前运行也一直没问题。虽然问题解决了可还是不明白为什么突然出现的这个毛病。有哪位知道根本原因的请给说下。

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论