我有一个名为 tb 的表,它是innodb - 行数超过1米。
我想在桌面上进行全文搜索,但我不能这样做因为它的innodb。
那么,如何创建名为 tb2 的 tb 的“别名”,意思是(表格的副本,当数据为 tb 更新,但将 tb2 的表格类型更改为myisam ?
因此,我可以在 tb2 上进行全文搜索,找到ID并从 tb1 中选择ID
答案 0 :(得分:4)
我个人认为这不是一个好主意,因为它会减慢写入速度,并且随着您拥有的数据量的增加,您的全文搜索将会很慢。我真诚地建议你研究像Sphinx这样的专用全文搜索引擎
答案 1 :(得分:0)
但要小心,因为它会使写操作变慢。
答案 2 :(得分:0)
首先,您将使用以下语法创建表:
create table tb2 like tb;
这将创建一个与tb具有相同索引结构的表。然后,改变表格使其成为myisam:
alter table tb2 engine='myisam';
然后,复制现有信息:
insert into tb2 select * from tb;
为了维护信息,您需要在tb上创建三个触发器... after insert
,after update
和after delete
。每个事件都将插入/更新/删除tb2中的相应行。