0
我有一個表 - 用戶配置文件(目前使用MyISAM)的MyISAM和InnoDB的替代
我有搜索欄可以搜索這個表 - 姓名,電子郵件,當前城市(我使用全文搜索)
然而該表中會有很多更新和可選字段(NULL默認)
如果我使用InnoDB,我將不得不切換到%LIKE%
如果我使用喜歡,我寫了這樣的代碼
我打破字符串到數組不是使用像搜索
$nums=//count(array());
for($n=0; $n<$nums; $n++){
$SQL .="
(
fullname LIKE :search_1_$n OR
email LIKE :search_2_$n OR
city LIKE :search_3_$n
) && //remove last && after
";
}
SELECT ... WHERE語句$ ...
的MyISAM:
Good - FULLTEXT serach, search speed
Bad - UPDATE, NULL take more space
InnoDB的:
Good - UPDATE, NULL
BAD - no FULLTEXT SEARCH, search speed slower
如果讓我選擇MYISAM,我將不得不放棄更新& NULL,如果我選擇INNODB我將不得不放棄全文和搜索速度
哪一個我應該選擇,任何建議?搜索或更新,哪一個更重要?
我認爲你過早地進行了優化。如果您需要FULLTEXT搜索,請使用MyISAM。否則,使用InnoDB,並擔心如果/當你有一個實際的問題。 –
我已經讀過很多帖子,ppl表示MyISAM不適合更新 – Ben
這並沒有那麼糟糕。如果你能從第一原則推斷數據庫不值得,那麼就用一個現實的數據集對它進行基準測試,它們太複雜了。考慮使用Postgres而不是MySQL,因爲這些荒謬的折衷是不必要的。 –