创建表“别名”,并更改表类型

时间:2010-09-03 22:20:49

标签: php mysql full-text-search alias

我有一个名为 tb 的表,它是innodb - 行数超过1米。

我想在桌面上进行全文搜索,但我不能这样做因为它的innodb。

那么,如何创建名为 tb2 tb 的“别名”,意思是(表格的副本,当数据为 tb 更新,但将 tb2 的表格类型更改为myisam

因此,我可以在 tb2 上进行全文搜索,找到ID并从 tb1 中选择ID

3 个答案:

答案 0 :(得分:4)

我个人认为这不是一个好主意,因为它会减慢写入速度,并且随着您拥有的数据量的增加,您的全文搜索将会很慢。我真诚地建议你研究像Sphinx这样的专用全文搜索引擎

http://sphinxsearch.com/

答案 1 :(得分:0)

  • 创建一个具有相同结构但myisam引擎的表
  • 使用INSERT,UPDATE,DELETE触发器来维护两个表之间的一致状态

但要小心,因为它会使写操作变慢。

答案 2 :(得分:0)

首先,您将使用以下语法创建表:

create table tb2 like tb;

这将创建一个与tb具有相同索引结构的表。然后,改变表格使其成为myisam:

alter table tb2 engine='myisam';

然后,复制现有信息:

insert into tb2 select * from tb;

为了维护信息,您需要在tb上创建三个触发器... after insertafter updateafter delete。每个事件都将插入/更新/删除tb2中的相应行。