使用join語句時,我想用類似的條件來加入表格。 什麼是最有效的方法呢?在聯合聲明中使用的最有效方式是什麼?
使用fielda like CONCAT ('%', fieldb, '%')
似乎並不非常有效
使用join語句時,我想用類似的條件來加入表格。 什麼是最有效的方法呢?在聯合聲明中使用的最有效方式是什麼?
使用fielda like CONCAT ('%', fieldb, '%')
似乎並不非常有效
使用2野生焦炭呈現指數沒用,你可以做的是消除了一個在前面,比MySQL將仍然使用索引來找到任何您的搜索對於。如果沒有索引,創建一個使用下面的代碼:
CREATE INDEX indexname ON tablename(columnname);
然後將查詢更改爲
fielda like CONCAT (fieldb, '%')
利用索引的,其他的事情要考慮的是列文本字段或簡單只是一個varchar字段,如果它包含更長的文本,應該考慮全文搜索。
下面是關於這個問題的更深入的文章與樣品的和很好的解釋等
如果你想要做實際的搜索,你會想學習如何做全文索引和查詢。我相信你可以通過google搜索找到關於這個主題的一些引用,但是這裏是它的MySQL文檔:http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html
是的,它非常低效,因爲它會殺死列上的任何索引定義。最好的方法是重新創建表或類似於添加一個新列,將索引放在該列上,然後重新執行聯接。 – 2013-04-22 15:44:29
你可以使用任何你想要的連接條件。最終歸結的是真實/錯誤的價值。如果連接結果爲true,則DB將在所考慮的兩行上執行連接。如果爲false,則會跳過行組合。鑑於你沒有提供任何表格結構/細節/要求,我們不能告訴你答案是什麼。 – 2013-04-22 15:46:57
什麼應用程序語義鼓勵您使用%+ field +%?如果你對你想做什麼給予更多的細節,那麼社區可以提供更多的幫助。 – 2013-04-22 16:43:27