php - MyISAM 或 InnoDB 用于我的大型项目,一次做多项工作

标签 php mysql

因为我对 MyISAM、InnoDB 引擎的了解不多,所以我很困惑在我的大型项目中使用什么引擎,在哪里

1) minimum 3000 users will log their account at a time (within hour)

2) and do some work like Update, delete data from their Account etc.

我在共享主机上。谁能给我具体的答案,我应该使用什么引擎来更快地处理上述情况。

哪个数据库引擎会加速上述工作?有什么帮助吗?

最佳答案

您的应用程序是否使用外键?如果是这样,那么您将需要使用 InnoDB 引擎。如果没有,您可以继续使用 MyISAM 引擎。


如果数据有很多修改,据说 InnoDB 工作得更快,因为它使用行锁定而不是表锁定,如 MyISAM。但是,如果主要是 SELECT 语句,MyISAM 表可能会更快。

但是,特定表的需求始终很重要 - 因此我会选择最适合给定表要求的存储引擎。如果需要外键约束或者事务,只能使用InnoDB,而如果需要全文索引,目前只能使用MyISAM表。

通过复制,甚至可以在一个表上利用两个存储引擎。例如,主服务器可以将表存储为 InnoDB,这使得它可以快速执行 INSERT、UPDATE 和 DELETE,而从服务器可以将相同的表存储为 MyISAM 并为 SELECT 提供最佳性能。

Source

关于php - MyISAM 或 InnoDB 用于我的大型项目,一次做多项工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7558480/

相关文章:

php - 如何将时间与今天的日期进行比较?

php - 为什么我可以在 php7 中使用字符串文字作为类?

php - 从包含的文件捕获 STDOUT 到变量

MySQL 多连接查询

mysql - 合并多个 MySQL SELECT 语句计算字段

javascript - core-ui-select 重写 URL 后不起作用

PHP 变量未通过 MySQL 更新查询加载

MySQL JOIN 不断超时

mysql - 触发器根据mysql中的另一个表更新来更新表

mysql - 镜像表 : triggers, 死锁和隐式提交