2012-09-24 98 views
3

「USE指數」或「FORCE INDEX」的方式是否可以指定「使用索引」或「FORCE INDEX」 CI中,除了使用有沒有指定的CodeIgniter

$this->db->query() 

我的意思其他是否可以在ActiveRecord的某個方法的某處插入「FORCE INDEX」。

+1

否.............. – Petah

+0

據我所知。我看到兩個解決方法:1:擴展AR類以允許插入FORCE INDEX和2:正確地清理數據,構建自己的查詢並使用'$ this-> db-> query()來獲得結果 –

回答

4

可以使用from()活動記錄方法在查詢中添加此像這樣:

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

產生的SQL查詢是這樣的:

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

一個需要注意的是,from()方法試圖找到標識符和多個表,因此向其輸入添加一個或多個,最有可能最終成爲SQL語法錯誤。