400-033-6027/微信:18511975698

北京中公PHP培训机构

php mysql一个查询优化的简单例子

来源:北京中公PHP培训机构 发布时间:2016/5/20 14:49:36

php mysql一个查询优化的简单例子

咨询热线:400-033-6027    在线QQ:1049357050   许老师

北京中公教育http://zgphp.soxsok.com/

   PHP+Mysql是一个较经常使用的黄金搭档,它们俩配合使用,能够发挥出较佳性能,当然,如果配合Apache使用,就更加Perfect了。

   因此,需要做好对mysql的查询优化。下面通过一个简单的例子,展现不同的SQL语句对于查询速度的影响:

   存在这样的一张表test,它有一个自增的id作为主索引。现在要查询id号处于某一个范围内的记录,可以使用如下SQL语句:

代码如下:

SELECT *

FROM `test`

order by id asc

limit 208888,50

   这条SQL语句的意思是从id号为208888的记录开始向后取50条记录。在一个30万条记录的数据库中测试,在主索引都已经建立好的情况下,执行这条语句的时间为40~50秒。

   那么有没有更快SQL语句来执行呢?显然是有的。看看下面这条SQL语句:

SELECT *

FROM `test`

WHERE id

BETWEEN 208838

AND 208888

   这条语句使用了一个条件进行过滤,在实际中测试的执行时间约为0.06秒。

   究其原因,是因为虽然id属性上已经有索引了,但是排序仍然是一个非常高代价的操作,要慎用。而第二个语句,就可以让MySql充分利用数据库中已经建立好的B+树索引,所以查找起来速度相当快,是原来的几百倍。

   由此可见,网站开发者在使用SQL语句的时候,一定要小心谨慎,因为一个疏忽大意的SQL语句,可能使得你的网站访问速度急剧下降,后台数据库面临巨大压力,并且很快陷入无法打开页面的窘境。

 

领取试听课
每天限量名额,先到先得
温馨提示:为不影响您的学业,来校区前请先电话或QQ咨询,方便我校安排相关的专业老师为您解答
  • 详情请进入 北京中公PHP培训机...

关于我们 | 招生信息 | 新闻中心 | 学校动态

版权所有:搜学搜课(www.soxsok.com)