6

を使用する以外に、CodeIgniter で「USE INDEX」または「FORCE INDEX」を指定することは可能ですか?

$this->db->query()

つまり、ActiveRecord のメソッドのどこかに "FORCE INDEX" を挿入できるかということです。

4

1 に答える 1

7

アクティブ レコード メソッドを使用して、次のfrom()ようなクエリにこれを追加できます。

$this->db->like('name', 'user', 'after')->from('users use index (name)')->get();

次のようなSQLクエリを生成します。

 SELECT * FROM (`users` use index (name)) WHERE  `name`  LIKE 'user%'

1 つの注意点は、from()メソッドが識別子と複数のテーブルを見つけようとするため、,入力に 1 つ以上を追加すると、SQL 構文エラーになる可能性が最も高いことです。

于 2012-09-24T14:55:37.840 に答える