維護一個表,就兩個欄位
uid: 用戶id, 主鍵。
datas: 推薦關系。資料格式如 ,0,1,2,3,4,5,6,------n,每個數字代表一個用戶的id。

上圖,就是兩個欄位 第一個逗號 分開,
比如,我想查詢 欄位2 datas 包含 2366 的 資料。
有很多種方法,比如 like left substring 等,我想請教,還 有不有哪種最 快的方法,或者說能 使用 到索引。。
uj5u.com熱心網友回復:
索引查找是用不到的,無法根據你的值做范圍定位,需要掃描所有的資料,所以索引掃描是可以用到的,但你只有兩個欄位,索引掃描和表掃描沒什么區別,所以也就這樣了如果發效率,第2個欄位應該是分拆后存盤的,每個值一條記錄,這樣才能真正的使用索引
uj5u.com熱心網友回復:
對于關系型資料庫,范式1要求每個資訊項不可再分,所以盡管可以利用 LIKE %XXXX% 來查詢符合條件的欄位,但由于你的設計違反了F1所以查詢效率不會太高。如果確實只能這么設計你的表及欄位,建議使用MySQL的 FULLTEXT 創建全文索引。uj5u.com熱心網友回復:
可以嘗試建立全文索引uj5u.com熱心網友回復:
如果你想提高查詢速度的話,目前你的表設計是不合理的,應該做一個用戶和用戶多對多的一個關系表,一個屬性只存一個用戶ID,這樣就可以用索引查詢,效率自然就有飛速的提升;uj5u.com熱心網友回復:
建立全文索引uj5u.com熱心網友回復:
用full index試一試轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/98102.html
標籤:MySQL
下一篇:plsql快速使用問題
