踩坑!数据库分页 LIMIT 100,200 居然查了 300 行?90% 开发都中招
这个案例其实是在我写完第一本书后遇到的,所以也一直没写日常开发中,分页查询是高频操作 —— 列表页一页页往下翻、批量导出数据分批拉取,我们早已习惯用 LIMIT(MySQL)或类似语法(Oracle)实现。但很多人不知道:LIMIT 200,100 不是直接查 100 行,而是先查 300 行再丢弃前 200 行!如果开发用循环分页批量取数(比如每次取 100 行,循环 10 次),以为总共只查
Before & After:SQL整容级优化
首先说明这个优化有一定提升,但不是我所期望的我接到一个涉及优化的SQL,具体内容实在太长。而且可能也不利于阅读。于是我脱敏以及简化一下。SQL中间大量的充斥着(select 列名1from t1where t1.id = t2.id) A,(select 列名2from t1where t1.id = t2.id) B,(select 列名3from t1where t1.id = t2.id)
这是国计民生啊不能这样
其实我们很多时候做的都在影响着社会前段时间去带孩子去医院。医生了解情况时候,说要看看之前的病历记录。对助手说,查一下孩子之前的数据。这时候助手就点击时间的控件,往前选。一下就到了1年前多。这时候医生近乎抓狂的说,别别别,别选太长时间,这样会死机的。我看到这里心中很无奈。这种情况见得太多了。如果在我自己的企业我就能上去解决了。问题分析通常遇到这种问题,如果说是成熟的国外数据库产品,那么出现这种现象基