【问题标题】:Foreign keys for myISAM and InnoDB tablesmyISAM 和 InnoDB 表的外键
【发布时间】:2012-11-22 00:12:02
【问题描述】:

我有一个数据库表 myISAM,用于全文搜索。我还有一个 InnoDB 表。我的 myISAM 表中有一个列,我想与我的 InnoDB 表中的一个列匹配。可以这样做吗?我好像搞不定!

【问题讨论】:

    标签: mysql innodb


    【解决方案1】:

    http://dev.mysql.com/doc/refman/5.0/en/innodb-foreign-key-constraints.html

    外键定义需满足以下条件:

    两个表必须是 InnoDB 表,并且不能是 TEMPORARY 表。

    所以,恐怕你无法实现你想要的。

    【讨论】:

    • 我就是这么想的。感谢您的回复!
    【解决方案2】:

    我建议您更改您的数据库架构,以便您拥有一组设计用于写入的数据完整性的表(所有 InnoDB),以及另一组设计用于搜索的表 - 可能在不同的盒子上,甚至可能不使用 MySQL,但也许像 Solr 或 Sphinx 这样的搜索服务器,其性能应该优于全文 MySQL 表。然后,您可以定期从您的写入数据库中填充您的搜索数据库。

    【讨论】:

    • 如果您在 ORM 中找不到方法,使用 TRIGGER 很容易做到这一点。
    猜你喜欢
    • 2011-10-17
    • 2012-05-15
    • 1970-01-01
    • 2012-01-13
    • 2014-02-03
    • 2012-03-01
    • 1970-01-01
    • 2014-01-30
    • 2011-01-08
    相关资源
    最近更新 更多