我需要搜索視頻的標題。搜索只會在一張表的一列中搜索,因此這是一個非常基本的搜索。以下是我目前用做搜索:建議進行基本搜索的方法
video_set = video_set.filter(title__icontains=search)
,並使用print connection.queries
,它會變成這樣 -
SELECT COUNT(*) FROM `userprofile_videoinfo` WHERE `userprofile_videoinfo`.`title` LIKE %search%
我很新的搜索和SQL,它似乎使用「%像'%'是永遠不鼓勵的事情。我正在搜索大約10,000條記錄,並想知道這樣的搜索對於這麼小的記錄大小是否足夠,或者如果我需要查找其他搜索選項。如果10,000條記錄太小而無法發揮作用,那麼我需要以何種規模/何時考慮其他選項?我可以選擇哪些選項來獲得更高性能的基本文本搜索?謝謝。
因此,對於10,000個電影名稱,近似性能/性能增加使用%like%與索引mysql搜索? – David542
我不認爲任何人都可以爲所有用例提供特定的%。這取決於你的硬件,配置,數據是否被緩存(或可以被緩存)在內存中,等等。不要太早優化。如果你有一個相當明確的數據集,你可以加載和測試你的查詢,這將是知道你的特定用例的最好方法。 – theoretical