2

私は出席管理システムを開発しました。次のクエリを実行してレポートを生成したいのですが、それは多数の行になります。私は共有ホストにいて、エラーを下回っています:

クエリ:

SELECT 
 `attendance`.*, `users`.`id` AS user_id, 
CONCAT_WS(" ", `user_profiles`.`fname`, `user_profiles`.`lname` ) AS name,
`user_department`.`did`, `user_department`.`dep_name` FROM (`attendance`) 
    LEFT JOIN `users` ON `users`.`username` = `attendance`.`emp_code` 
    LEFT JOIN  `user_profiles` ON `user_profiles`.`user_id` = `users`.`id` 
    LEFT JOIN `in_department` ON `in_department`.`user_id` = `user_profiles`.`user_id`
    LEFT JOIN `user_department` ON `in_department`.`dep_id` = `user_department`.`did` 
WHERE `banned` = '0' 
   AND `for_date` >= '2012-05-28' 
   AND `for_date` <= '2012-06-28' 
ORDER BY `emp_code` asc, `for_date` asc

エラー:

SELECT は MAX_JOIN_SIZE を超える行を調べます。WHERE を確認し、SELECT が問題ない場合は SET SQL_BIG_SELECTS=1 または SET MAX_JOIN_SIZE=# を使用します

codeigniter SET SQL_BIG_SELECTS=1 でアクティブなレコードを使用してこのクエリを実行する方法

助けてください、テーブルにインデックスを付ける必要がありますか

4

1 に答える 1

3

SET次のコマンドを含むクエリを発行するだけです。

$this->db->query('SET SQL_BIG_SELECTS=1'); 
于 2012-06-07T05:42:35.407 に答える