1
8355 2017 年 4 月 1 日
没太看懂你写的 sql
不过问性能来说你运行一下就知道了啊. |
2
AlisaDestiny 2017 年 4 月 1 日
这个你可以自己测下的。表里插入 1W 假数据。每个 sql 语句执行十次。看平均时间。
|
3
killerv 2017 年 4 月 1 日 via iPhone
mysql 子查询比较坑,慎重使用。
|
4
zioc OP |
7
JKeita 2017 年 4 月 1 日
explain 一下看了下查询,应该是第一条比较快
|
8
surfire91 2017 年 4 月 1 日
恕我眼拙,这个跟 SELECT * FROM API_LOG LIMIT 0, 10 有啥区别
|
9
fxxkgw 2017 年 4 月 1 日
没看懂 但是慎用笛卡尔积
|
11
qfdk PRO 加个 index 有想不到的结果
|
12
zander1024 2017 年 4 月 1 日
我不懂这个 Join 有卵用?.. 可能是我 mysql 学的假的
|
13
AnonymousAccout 2017 年 4 月 1 日 via iPhone
好吧 第二个里的子查询那个 select * from 也没用吧...
|
14
sujin190 2017 年 4 月 1 日
WHERE IN 又子查询在 mysql 上的实现似乎是上一级的查询的每一条数据做一次子查询, mysql 文档上似乎有详细解释,可以去看下,我记得是这么写的,还是用第一种好
|
15
luckyduck 2017 年 4 月 1 日
楼上看不懂的是因为不了解什么叫覆盖索引。。。
|
16
sujin190 2017 年 4 月 1 日
|
17
danielmiao 2017 年 4 月 1 日
不理解这么做的意义。。是吧 mysql 优化器当傻 bi ~~~~了么
|
19
zioc OP @surfire91
@raycloud 直接 limit 数据量偏移大了会变慢,这个是偏移 ID 主键 @AnonymousAccout 加 SELECT * FROM 是 MySQL 不允许 Limit IN 在子查询里面 |
20
realpg PRO 如果不做特殊 CACHE 标记,测试只有第一次有意义……
|
21
satifanie 2017 年 4 月 2 日
单看 也看不出来。 不如直接 Explain 一下。看一下 分析的结果就知道了
|
22
luckyduck 2017 年 4 月 3 日
@surfire91 覆盖索引的意思就是指直接通过索引的查询就能获取到数据。例如: select id from table 这个 id 是主键,仅仅通过索引查询就能返回结果, select * from table 这里则需要先查到主键,再通过主键获取剩余字段的值,这也就是为什么前者比后者快。
|
23
panzhc 2017 年 4 月 5 日
|
24
garodie 2017 年 4 月 17 日 via iPhone
现代陈世美,良心被狗吃了
|