作者sing10407 (阿U)
看板Database
标题Re: [书籍] 有sql语法效能优化的书吗?
时间Wed Aug 14 00:01:43 2013
※ 引述《bernachom (Terry)》之铭言:
: 想询问一下
: 有sql语法效能优化的书吗?
: 因为有时後觉得自已写的语法似乎不是很快
: 但是又不知道怎麽写才会好一点
: 想要找优化的相关书籍来看
: 希望有朋友推荐
: 谢谢了~
我所知道的就大概一些东西尽量少用
1.select出需要的栏位就好
2.光看时间复杂度的话~
会强烈建议少用 in 指令 (复杂度为n^2)
可以多用join 来取代in
3.另外就是子查询??
子查询的复杂度比较难懂 应该也有n^2 ??
有请高手补充~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.44.118.123
1F:→ iFEELing:要先考虑一点:DBMS的优化器可能会改写你的指令 08/14 00:28
2F:→ iFEELing:与其考虑写SQL的时间复杂度 不如看看优化器怎麽搞你的SQL 08/14 00:29
3F:→ iFEELing:执行计画展出来 统计值展出来 再看你储存的状况 08/14 00:30
4F:→ iFEELing:而且我觉得很怪 你的时间复杂度怎麽出来的? 08/14 00:51
5F:→ iFEELing:table scan 或 index 花的成本不一样 为什麽会是 n^2 ? 08/14 00:52
6F:→ iFEELing:而且多用JOIN这点...(捏鼻 希望你的DB够强壮.... 08/14 00:55
7F:→ gname:记忆体要够大...(误 08/14 10:20
8F:→ jengting:效能调校的话,观察和解读执行计画最重要 ~~ 08/14 12:01
9F:→ benqm300:我都用人体时间复杂度来侦测,不同TABLE还是要Join阿~~ 08/27 00:52
10F:→ iFEELing:不同的JOIN法 两边的集合大小 合并方式 出来会天差地别喔 08/28 22:20
11F:→ benqm300:一般来说都是等价合并,用in的子查询,我个人很排斥@@ 08/29 23:15
12F:→ benqm300:可以考虑exists 08/29 23:17