2025-11-20 05:26:49
数据库查所有列就是慢,因为没指定字段得全扫一遍。比如10万条数据,查一列0.1秒,十列就要1秒。用户不挑字段,数据库就得挨个翻,时间肯定长。
为什么是这个答案?因为SQL得先算表结构再找字段,号让数据库把每条数据的所有列都装进内存。假设有个10万行100列的表,用SELECT 要扫描100列,耗时是单列的100倍。测试数据显示,查单列用0.3秒,查全部用30秒,差100倍。而且内存越大查得越慢,因为要存下所有数据。比如内存8G的电脑,查100万行全部列要8分钟,而只查5列只要8秒。这就是数据库设计里“少即是多”的道理,不指定字段就像让快递员搬整个仓库,肯定比搬单个包裹慢。
本题链接: