我正在为一个重度使用的应用程序设计一个大型数据库。该应用程序将在销售时进行许多插图/更新,但我将有更多选择。我将做很多涉及多(3-6)内连接的选择语句。
innoDB 将如何处理这些复杂的 select 语句。我还将在我的选择中使用大量 datetime 子句作为过滤器。
那么对于这样的应用程序,InnoDB 会比 MyIsam 更好吗?或者我应该坚持还是旧的 MyIsam 方法?
这是一个选择语句的示例
SELECT act.subject, act.attempts, in.industry_name, zn.zone_name, cc.code_id, DATE_FORMAT(act.due_on, "%m-%d-%Y %T") AS due_on FROM activities AS act
INNER JOIN industries AS in ON in.industry_id = act.industry_id
INNER JOIN zones AS zn ON zn.zone_id = act.zone_id
INNER JOIN call_codes AS cc ON cc.code_id = act.code_id
WHERE act.due_on BETWEEN (CURRDATE() + ' 00:00:00') AND (CURRDATE() + ' 23:59:59')
ORDER BY act.due_on
**This is a summery of fields description**
The following field's type are CHAR(50)
act.subject
in.industry_name
zn.zone_name
the following field's type are INT(10) unsigned and they are all foreign keys
cc.code_id
in.industry_id
zn.zone_id
the following field's type are INT(10) unsigned and they all are indexed
act.industry_id
act.zone_id
act.code_id
this field is a date time
act.due_on
我还应该注意,我的活动表有 300 万条记录。此外,我将使用 COUNT()、MAX()、MIX()、SUM()、AVG()、CASE WHEN Some THEN OTHER END 进行大量报告.....