首页 养生问答 疾病百科 养生资讯 女性养生 男性养生

如何优化一个有100万条记录的数据库表

发布网友 发布时间:2022-04-26 14:31

我来回答

3个回答

热心网友 时间:2022-04-08 08:22

你的查询语句必需用到索引.每个条件都要有索引.百万数据还不算很多.索引就可以解决的.但是还回的结果集大的话,几万条,这个要视I/O和网络情况.这个问题就有点大了.要解决的问题还是比较多的,比如服务器,客户端,网络.追问那请问,1000万条、5000万条、1亿条这些级别跟100万条有差别么?这些的优化又该怎么做?

追答嗯,为什么要优化,原因就是用户的体验感,用户的承受力没办法满足了.
所以,初期的表结构非常重要.

建表的时候,很多人往往只是把需要的字段,字段属性,唯一性约束,主键这几个方面着手.不会去考虑表将来的发展.有些表,系统一直用,都不会有多大的增量,但有些表,增量是与日俱增的.

所以,建表的时候,要考虑好索引,如果索都不够用,那就要考虑分区存储(分块存储--part),分块一般是以二的次方来分的,也就是1 2 4 8 16 .....

百万条的话,不需要分块.那张表的存储空间应该不会上G..

上G的话,一定要分块.

另外还有一个:那个数据为什么那么多,不能优化吗?

我以前有做过一个项目,数据六千多万.我优化后,只有三十几万.

用了三天时间做这件事情.

查下里面有没有没用的数据,有没有冗余的数据,

然后再想想,这些数据能不能用另外一种表达方式来优化.

不要因为表结构的改变, 而引起的程序改动很大而不为.

为了用户的体验感强,系统性能健壮,一定要做(做软件是为了让客户更有效的,系统的管理某些事务,其中有一点是很重要的-->能否提高工作效率.提高生产力.)

热心网友 时间:2022-04-08 09:40

一:如果有唯一字段的,创建主键和索引,提高查询主键字段效率;
二:如果这些数据是变更的,可以通过时间来创建分区;
三:如果部分老数据都是不需要的数据(不常用),可以定期将老数据备份到其他位置;
四:如果是查询的话,可以通过分页查询的形式进行,不要一次性读取过多数据。

热心网友 时间:2022-04-08 11:15

可以用分区那些,还有索引,具体还是要你的业务那些,一个笼统的感念,真不好说

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com