900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > mysql分区一定会提高查询效率_MySQL分区一定会提高查询效率吗

mysql分区一定会提高查询效率_MySQL分区一定会提高查询效率吗

时间:2023-05-17 18:29:09

相关推荐

mysql分区一定会提高查询效率_MySQL分区一定会提高查询效率吗

对MySQL数据表分区一定会提高查询效率吗

作为一个后端开发人员,我们一般都听说过对数据表进行分区的操作。甚至有开发人员说:这张表以后的数据量一定会很大,至少有好几千万条,我们对这张表分区吧。

然而,有时候并没有感受到查询速度的提升,反而感觉更加的慢了。原因就是不好的分区设计导致对磁盘的IO操作次数增加了。

我们现在来做个测试,数据有1000W条,储存引擎用的是InnoDB。

首先我们创建数据表:

create table user (

id int(11) not null auto_increment,

key_id int(11) not null,

primary key (id),

key key_id (key_id)

) engine = innodb

partition by hash (id)

partitions 10;

我们采取的分区类型是hash分区,因为这样可以让数据比较均匀的储存在不同的分区中(我们之后可以看看数据分布情况)。且以主键id为标准进行分区。

partitions 10指的是对这张表分10个区。

好的,创建完数据表之后,我们插入1000W条数据。我们采用存储过程来实现:

delimiter $$

create procedure myproc()

begin

declare num int;

set num = 1;

while num <= 10000000 do

insert into user (key_id) values(num); set num &

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。