php+mysql查询优化简单实例

yipeiwu_com6年前Mysql基础

本文实例分析了php+mysql查询优化的方法。分享给大家供大家参考。具体分析如下:

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语句,可能使得你的网站访问速度急剧下降,后台数据库面临巨大压力,并且很快陷入无法打开页面的窘境.

希望本文所述对大家的php+mysql程序设计有所帮助。

相关文章

PHP实现基于面向对象的mysqli扩展库增删改查操作工具类

本文实例讲述了PHP实现基于面向对象的mysqli扩展库增删改查操作工具类。分享给大家供大家参考,具体如下: mysqli扩展库是MySQL扩展库的改进版本,在mysql扩展库的基础上提...

php导入大量数据到mysql性能优化技巧

本文实例讲述了php导入大量数据到mysql性能优化技巧。分享给大家供大家参考。具体分析如下: 在mysql中我们结合php把一些文件导入到mysql中,这里就来分享一下我对15000条...

php下MYSQL limit的优化

同样是取10条数据 select * from yanxue8_visit limit 10000,10 和select&nb...

php将textarea数据提交到mysql出现很多空格的解决方法

本文实例讲述了php将textarea数据提交到mysql出现很多空格的解决方法。分享给大家供大家参考。具体分析如下: 有一些朋友可能会发现我们在html提交给php处理保存数据到mys...

PHP使用mysqldump命令导出数据库

PHP使用外部命令导出数据库,代码很简单,就不多废话了 <?php // $dumpFileName目录要有可写权限 $DbHost = 'localhost...