我有一张桌子 - 用户资料(目前使用 MISAM)
我有搜索栏可以搜索此表 - 名称、电子邮件、当前城市。(我使用 FULLTEXT SEARCH)
但是在这个表中会有很多更新和可选字段(默认为 NULL)
如果我使用 INNODB,我将不得不切换到%LIKE%
如果我使用 LIKE,我写了这样的代码
我将字符串分解为数组而不是使用 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,我将不得不放弃全文和搜索速度
我应该选择哪一个,有什么建议吗?搜索还是更新,哪个更重要?