Chinaunix

标题: 关于Mysql的一些问题!请各位帮帮忙!谢谢了 [打印本页]

作者: qq236084567    时间: 2010-04-16 09:06
标题: 关于Mysql的一些问题!请各位帮帮忙!谢谢了
本帖最后由 qq236084567 于 2010-04-16 11:26 编辑

学校学生的记录信息大概有300万条,mysql数据库的,想查点什么信息等得有点久,试想用limit来限制查询结果来节省时间,没用……如果过想查到50万条就不查了,结束,要怎么实现呢?
大概意思是这样!!领导叫我弄的~~其实我也不会数据库!有哪位大虾帮帮小弟!小弟自当感激不尽!可以加我的QQ236084567
我现在一头雾水~~叫我一个新手弄数据库~哎~~头痛啊~~{:3_198:}
作者: zeromax    时间: 2010-04-16 13:51
本帖最后由 zeromax 于 2010-04-16 16:12 编辑

太笼统了,牵涉到很多方面,首要一个MYSQL服务器优化,还有就是你语句是怎么样的。

LIMIT 的话,如果开始基数很大一样慢,想其他办法转换,具体要看你怎么取数据的,如果取的记录在很后面,并且记录数很少的话 ,可以怎么做
不好意思,前面这里写错了

子查询里面没办法使用LIMIT ,可以用SP进行封装一下。
两部走
select id from table where xxx limit 600000,100

select * from table where id in (xxxx,xxx,xxx)
作者: qq236084567    时间: 2010-04-16 14:28
本帖最后由 qq236084567 于 2010-04-16 14:32 编辑

回复 2# zeromax
1、Limit是在某个范围内取出结果,但还是可能在得出结果前低效搜索了很多条数据。
2、在不知道所需数据在大范围的某个位置时,还是不方便用limit来限定搜索范围。

只关心搜索过程不要太久,浪费在开始某些过长的无用数据上,于是放弃搜索的方法
在线等!{:3_182:}

    [qq]236084567[/qq]
作者: zeromax    时间: 2010-04-16 15:37
LIMIT 只限制输出结果,限制查询范围 使用WHERE 后面的条件。可以根据时间或者主键等字段进行范围限制。
300W记录 应该不会有什么大的性能瓶颈,估计是MYISAM引擎,并且没有优化索引。另外还有就是MYSQL配置参数的问题。

关于数据库结构和查询优化,具体情况具体分析的,不详细了解整个结构没办法回答你




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2