33 1234
发新话题
打印

[求助] VeryCD聘PHP工程师提的SQL优化问题,你有好的优化方法吗?

VeryCD聘PHP工程师提的SQL优化问题,你有好的优化方法吗?

请问如何优化SQL:
复制PHP内容到剪贴板
PHP代码:
select from t where id in (1,2,3order by s desc;

目前大家提出的优化方法:

1. 将 in(1,2,3) 换成 id=1 or id=2 or id=3

2. 将 * 细化

3. id<=3 用个运算...小于或者等于...

4. 将 in(1,2,3) 换成 exists(1,2,3)

希望大家继续讨论.

补充: 像四楼这样没营养的文字,请勿占用资源.

[ 本帖最后由 gxgzres 于 2008-7-17 17:32 编辑 ]
敢想敢做^^

TOP

in很占资源。我想我会用id=1 or id=2  or id=3

[ 本帖最后由 saso 于 2008-7-17 22:26 编辑 ]
什么都不想做呢,怎么办?
引用:
原帖由 saso 于 2008-7-17 17:00 发表
in很占资源。我想我会用id=1 and id=2  and id=3
语句中的and改为or比较正确吧?
敢想敢做^^

TOP

没头没脑。。

TOP

~
不小心,呵呵。你对了。
什么都不想做呢,怎么办?
这个 * 好像也能优化

TOP

explain出来的情况
EXPLAIN  SELECT *
FROM `articles`
WHERE id
IN ( 10, 11, 12 )
ORDER BY created_at DESC
Profiling
[ 编辑 ] [ 略过解释 SQL ] [ 创建 PHP 代码 ]



id         select_type         table         type         possible_keys         key         key_len         ref         rows         Extra
1         SIMPLE         articles         range         PRIMARY         PRIMARY         4         NULL         3         Using where; Using filesort

TOP

题目就这么一句话的话,我们就可以展开很多联想了
引用:
select x1,x2,x3 from t where id=1 OR id=2 OR id=3 order by s desc;
我能想出来的办法了 ...
我是一只小小象~~ 咿呀咿呀哟~~~~

TOP

id<=3

它必定是以3结束...

用个运算...小于或者等于...
PHP开发群: 36954311  欢迎大家参与,讨论PHP
菜鸟学会PHP最快而且有效的方法: 先飞!
模板引擎 PHPnew 5.0 (简约,快速)

TOP

 33 1234
发新话题