有没有办法在CodeIgniter中指定"USE INDEX"或"FORCE INDEX"

Nat*_*per 5 php mysql codeigniter

是否可以在CodeIgniter中指定"USE INDEX"或"FORCE INDEX",而不是使用

$this->db->query()
Run Code Online (Sandbox Code Playgroud)

我的意思是,如果可以在ActiveRecord的一个方法中的某处插入"FORCE INDEX".

com*_*857 6

您可以使用from()活动记录方法在这样的查询中添加它:

$this->db->like('name', 'user', 'after')->from('users use index (name)')->get();
Run Code Online (Sandbox Code Playgroud)

生成这样的SQL查询:

 SELECT * FROM (`users` use index (name)) WHERE  `name`  LIKE 'user%'
Run Code Online (Sandbox Code Playgroud)

需要注意的是,该from()方法尝试查找标识符和多个表,因此,向其输入添加一个或多个表最有可能最终成为SQL语法错误.