我正在爲擁有一家招聘公司的朋友建立一個IT候選人數據庫。他有一個數以千計的候選人目前在Excel電子表格中的數據庫,我將它轉換成mySQL數據庫。我的數據庫設計的搜索速度會慢嗎?
每個候選人都有一個技能領域,其技能被列爲一個字符串,例如, 「javascript,php,nodejs ...」等
我的朋友會有他下面的員工也會搜索數據庫,但是我們要這樣做,所以他們只限於搜索結果與具有特定技能的候選人取決於他們出於安全原因正在處理什麼空缺(所以他們不會竊取數據庫的大部分內容,並且利用這些數據去建立他們自己的招聘公司)。
因此,如果員工正在處理JavaScript角色,他們將被限制爲候選人在他們的技能字段中包含單詞「javascript」的搜索結果。因此,如果他們搜索所有名爲「Michael」的候選人,那麼它只會返回帶有JavaScript技能的「Michaels」。
我擔心的是,搜索可能需要很長時間,因爲它必須掃描技能字段,有時可能是一個很長的字符串。
我的擔心是否合理?如果是的話,是否有一種方法來優化呢?
這將是緩慢的,除非你正常化技能到一個單獨的表,雖然全文搜索可以幫助緩解....但你沒有曾經在你的設計描述中提到這個詞索引 – 2014-09-27 14:33:44
我以前有一個對話與我的朋友和他說,爲應聘者選擇的預設技能列表在設計上太麻煩,因爲技能太多,而且他們在不斷變化。 – dlofrodloh 2014-09-27 14:39:36
這並不意味着你不能規範化你的數據庫....交叉引用不需要手動維護,但可以修改,以添加新的技能,當一個新的CV輸入系統 – 2014-09-27 14:47:31