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