我有一張表,名爲tb這是innodb - 有超過1米行。創建表「別名」,並更改表格類型
我想在桌面上進行全文搜索,但是我不能那樣做,因爲它的innodb。
那麼,如何創建一個TB稱爲TB2的「別名」,意思(該表的副本,自動更新時的TB更新數據,但改變的表型tb2 to myisam)?
所以,這樣我可以在TB2做全文搜索,找到IDS和TB1
我有一張表,名爲tb這是innodb - 有超過1米行。創建表「別名」,並更改表格類型
我想在桌面上進行全文搜索,但是我不能那樣做,因爲它的innodb。
那麼,如何創建一個TB稱爲TB2的「別名」,意思(該表的副本,自動更新時的TB更新數據,但改變的表型tb2 to myisam)?
所以,這樣我可以在TB2做全文搜索,找到IDS和TB1
但是要小心,因爲它會使寫入操作變慢。
這是解決其特定問題的方法,但一般問題是該表的數據太多。分片或其他數據庫應該專門用於文本搜索 – Quamis 2010-09-03 23:56:37
我個人認爲這不是一個好主意,因爲它會減慢寫入和數據量,你的全文搜索將會很慢。我真誠地建議你看看像獅身人面像專用的全文搜索引擎
首先,你會使用以下語法創建一個表:
create table tb2 like tb;
這與創建一個表與tb相同的索引結構。然後,更改表,使其的MyISAM:
alter table tb2 engine='myisam';
然後,複製了現有的信息:
insert into tb2 select * from tb;
爲了保持信息,那麼你就需要創建結核病三個觸發器。 ... after insert
,after update
和after delete
。每個事件都會插入/更新/刪除tb2中的相應行。
感謝您的分享。請修改您的帖子以包含您的關於此的問題。 – 2010-09-03 22:31:00