gpt4 book ai didi

mysql - MyISAM 和 InnoDB 替代方案

转载 作者:行者123 更新时间:2023-11-30 01:15:02 26 4
gpt4 key购买 nike

我有一个表 - 用户个人资料(当前使用 MYISAM)

我有搜索栏可以搜索此表 - 姓名、电子邮件、当前城市。(我使用全文搜索)

但是在这个表中会有很多更新可选字段(默认为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,我将不得不放弃全文和搜索速度

我应该选择哪一个,有什么建议吗?搜索和更新,哪个更重要?

最佳答案

在 innoDB 和 MyISAM 之间进行选择的一般规则是

  • 大量写入 - innoDB
  • 大量读取和少量写入 - MyISAM

根据您的情况,如果可能,您可以将 MySQL 更新到较新的版本。

InnoDB support for FULLTEXT indexes is available in MySQL 5.6.4 and higher.

关于mysql - MyISAM 和 InnoDB 替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19149875/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com