當運行加入3個大表中的數據我收到說SELECT將檢查超過max_join_size個行
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
當運行加入3個大表中的數據我收到說SELECT將檢查超過max_join_size個行
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
你可以簡單地發出包含SET命令查詢錯誤查詢:
$this->db->query('SET SQL_BIG_SELECTS=1');
看起來像你必須大選。正如Faizan所說,您可以在配置文件中設置SQL_BIG_SELECTS = 1或在活動會話中定義全局變量(不需要重新啓動服務)。
另外,看看這個文檔。 http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_max_join_size。它很好理解參數的效果。也許你的inital select沒有針對預期結果進行優化。只是一個額外的想法。
我贊成這是正確的答案,我只是在我的答案中添加了一些額外的信息。 –