[笔记]MYSQl 5.1 cluster 快速添加和删除索引 _MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2152 | 回复: 0   主题: [笔记]MYSQl 5.1 cluster 快速添加和删除索引         下一篇 
barry
注册用户
等级:中校
经验:1534
发帖:236
精华:2
注册:2012-1-13
状态:离线
发送短消息息给barry 加好友    发送短消息息给barry 发消息
发表于: IP:您无权察看 2014-12-2 9:53:02 | [全部帖] [楼主帖] 楼主

MySQL Cluster 5.1 引入了新的功能,添加索引的时候不中断活动事务,或不像以前版本那样在添加索引的时候引起系统资源瓶颈。让我们回顾一下在MySQL4.1和5.0上是怎么添加索引的。

1、我们创建一个有两个相关索引(index1和index 2)的表(table_1)

2、第二步、一个临时表(temp table)被创建。

3、表table_1、索引index1、index2和新的索引index3上的数据被创建。

4、一旦上述过程完成,原始表table_1被删除,临时表被重新命名为table_1.

图5是MySQL Cluster4.1和5.0版的索引创建过程描述。

MySQL Cluster 5.1中添加索引的过程如图6所示,添加的过程非常快。这意味着不需要再创建临时表,也不需要重新创建和删除数据。使用快速ADD INDEX 的好处是表的维护操作加快了,内存和磁盘方面的要求降低了,因此你在维护表的时候不再必须有足够的存储空间来维护表的双份数据拷贝,而且集群也更能适应它所支持的应用的变化需求。

下面是一个在5.0和5.1上创建和删除索引性能差别的例子,正如你所见,5.1要快将近4倍。

Version 5.0
mysql>CREATE INDEX b ON t1(b);
QueryOK, 1356 rows affected (2.20 sec)
Records:1356 Duplicates: 0 Warnings: 0
mysql>DROP INDEX b ON t1;
QueryOK, 1356 rows affected (2.03 sec)
Records:1356 Duplicates: 0 Warnings:
Version 5.1
mysql>CREATE INDEX b ON t1(b);
QueryOK, 1356 rows affected (0.58 sec)
Records:0 Duplicates: 0 Warnings: 0
mysql>DROP INDEX b ON t1;
QueryOK, 1356 rows affected (0.46 sec)
Records: 1356 Duplicates: 0 Warnings: 0


删除索引时结果也相似。 




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论