sql操作超大量条数据时如何优化

2025-06-26 01:01:31
推荐回答(4个)
回答1:

首先是表设计要合理,要合理使用分区,索引等工具。
再一个就是看你需求是什么,数据分布情况如何。
比如select * from table a where a.col1=1;
这个例子里面,假设表a有一亿数据量,在不考虑分区的情况下,col1的数据分布对检索效果影响极大,比如如果col1是有唯一约束的字段,那很简单,直接通过索引定位,检索时间基本上在毫秒级。
可如果col1是个状态字段,比如只有0,1两个值。而且两个数值分配均匀,那符合条件的检索结果就会有5000w,这时候什么办法都没有,最快的检索方式就是全表扫描。

所以,如果没有具体的示例,是没法解答你的问题的。

回答2:

是一个很复杂的事情,具体情况具体分析,最好是有实际的案例。
超大数据量,首先考虑的是存储、表结构设计,最后才是SQL语句编写

回答3:

数据库是有锁的,当一条记录被操作时,这条记录会加锁的,其它操作会进入阻塞状态。正是由于这个阻塞,才使得庞大的用户系统,需要进行各种优化。比如12306平时好好的,一到过年各种问题,但是也没办法,人太多。。。。

回答4:

使用索引