Rumah > pangkalan data > tutorial mysql > MySQL 5.1和MySQL 5.5创建索引速度对比

MySQL 5.1和MySQL 5.5创建索引速度对比

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-07 17:20:17
asal
1188 orang telah melayarinya

MySQL 5.1和MySQL 5.5创建索引速度对比,只需更新索引页,和之前相比,速度会更快。但创建聚集索引(主键)时,或者是外键时,还是

在MySQL5.1.X版本里,聚集索引创建和删除的过程:

1、 创建一个和原表结构一样的空表,然后创建聚集索引;

2、 拷贝原表的数据到新表,这时会对原表加一个排他锁,其他的会话dml操作会阻塞,从而保证数据的一致性;

3、 复制完毕后删除掉原表,并把新表改名为原表。

非聚集索引创建和删除的过程:

1、 创建一个和原表结构一样的空表,然后创建非聚集索引;

2、拷贝原表的数据到新表,这时会对原表加一个共享锁,其他的会话不能更新,但可以查询数据,从而保证数据的一致性;

3、复制完毕后删除掉原表,并把新表改名为原表。

在MySQL5.5.X版本开始, 创建和删除非聚集索引不用复制整个表的内容,,

只需更新索引页,和之前相比,速度会更快。但创建聚集索引(主键)时,或者是外键时,还是需要复制整个表的内容,因为聚集索引是把 primary key 以及 row data 保存在一起的,而 secondary index 则是单独存放,然后有个指针指向 primary key。

下面是创建非聚集索引的速度对比:

MySQL 5.1和MySQL 5.5创建索引速度对比

MySQL 5.1和MySQL 5.5创建索引速度对比

参见MySQL5.5手册:

MySQL 5.1和MySQL 5.5创建索引速度对比

MySQL 5.1和MySQL 5.5创建索引速度对比

linux

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan