提问:Merge引擎的表,不能有两个索引?

flairsky 2009-09-27 10:30:28
手册上也没明确说明

但我就是无法建立1个以上的索引。是版本问题还是本身就不允许?
...全文
91 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
flairsky 2009-09-27
  • 打赏
  • 举报
回复
OMG

终于成了

不止是索引结构要完全一致,而且建索引的顺序也要完全一致!!!
wwwwb 2009-09-27
  • 打赏
  • 举报
回复
呵呵,我是在建立完表后,再CREATE INDEX的
flairsky 2009-09-27
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wwwwb 的回复:]
测试了一下,MergE表确实无法建立索引
[/Quote]

只能建立表的时候就预先定义好
wwwwb 2009-09-27
  • 打赏
  • 举报
回复
测试了一下,MergE表确实无法建立索引
ACMAIN_CHM 2009-09-27
  • 打赏
  • 举报
回复
因为merge 本身什么都没有,只有一个表定义。
ACMAIN_CHM 2009-09-27
  • 打赏
  • 举报
回复
[Quote]是不是索引结构得和子表一样?![/Quote]

是!
nianzhang747 2009-09-27
  • 打赏
  • 举报
回复
默认能给16个列建立索引

最引最大长度是256位

理论上可以建立的啊

前提是索引建立正确
flairsky 2009-09-27
  • 打赏
  • 举报
回复
是不是索引结构得和子表一样?!
ACMAIN_CHM 2009-09-27
  • 打赏
  • 举报
回复
可以啊,你是如何建的?

建议你可以先测试一下如下语句。

mysql> CREATE TABLE t1 (
-> a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> f int,
-> message CHAR(20),
-> index (f)) ENGINE=MyISAM;
Query OK, 0 rows affected (0.02 sec)

mysql> CREATE TABLE t2 (
-> a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> f int,
-> message CHAR(20),
-> index (f)) ENGINE=MyISAM;
Query OK, 0 rows affected (0.05 sec)

mysql> CREATE TABLE total (
-> a INT NOT NULL AUTO_INCREMENT,
-> f int,
-> message CHAR(20), INDEX(a),index(f))
-> ENGINE=MERGE UNION=(t1,t2) INSERT_METHOD=LAST;
Query OK, 0 rows affected (0.06 sec)

mysql> select * from t1;
+---+------+---------+
| a | f | message |
+---+------+---------+
| 1 | 1 | Testing |
| 2 | 2 | table |
| 3 | 3 | t1 |
+---+------+---------+
3 rows in set (0.00 sec)

mysql> select * from t2;
+---+------+---------+
| a | f | message |
+---+------+---------+
| 1 | 1 | Testing |
| 2 | 2 | table |
| 3 | 3 | t2 |
+---+------+---------+
3 rows in set (0.00 sec)

mysql> select * from total;
+---+------+---------+
| a | f | message |
+---+------+---------+
| 1 | 1 | Testing |
| 2 | 2 | table |
| 3 | 3 | t1 |
| 1 | 1 | Testing |
| 2 | 2 | table |
| 3 | 3 | t2 |
+---+------+---------+
6 rows in set (0.00 sec)

mysql>
flairsky 2009-09-27
  • 打赏
  • 举报
回复
各种方法都使用过了,建立了以后就无法打开表了
wwwwb 2009-09-27
  • 打赏
  • 举报
回复
你是怎么建立索引的?

56,937

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧