MYSQL 面试题二:SELECT * 和 SELECT 全部字段的优缺点

记得有一次,我在调试某电商系统的订单查询接口时,突然发现返回的数据量比预想的要大很多。
当我打开数据库时,发现使用了SELECT,检索出了用户表中的所有字段,包括用户注册时的验证码密钥。
当时服务器的CPU上升到9 0%,客户端加载页面很慢,就像卡住了一样。

等等,还有别的事。
之前在一家金融公司开发报表,有一个查询需要返回1 0张表的相关数据。
如果使用 SELECT,SQL 语句可能会填满整个屏幕。
后来改用显式字段,删除无用字段后,执行时间直接从5 秒下降到0.3 秒。
然而,在测试环境中突然出现了内存溢出的情况。
经过调查,发现另一位同事创建了一个太长的新文本字段,导致所有 SELECT 查询都会引发内存警报。

突然想到现在很多云数据库都提供了自动字段压缩功能。
例如,在阿里云的RDS中,启用该功能后,使用SELECT查找到的文本字段将默认压缩为二进制格式。
但这引出了一个问题:开发人员真的需要关心这些底层实现细节吗?

关于mysql面试题

1 、直接添加用户ID字段,在PHP页面进入页面时输入。
2 、对于数据库操作,先锁表,然后insert、clean、最后解锁。
3 .插入新数据后,使用mysql_insert_id()获取ID。
4 . 要搜索最后插入的 ID,请使用 select last_insert_id()。

自己掂量一下。