php+mysql查询优化简单实例
2015-01-13 00:00
761 查看
本文实例分析了php+mysql查询优化的方法。分享给大家供大家参考。具体分析如下:
PHP+Mysql是一个最经常使用的黄金搭档,它们俩配合使用,能够发挥出最佳性能,当然,如果配合Apache使用,就更加Perfect了.
因此,需要做好对mysql的查询优化,下面通过一个简单的例子,展现不同的SQL语句对于查询速度的影响.
存在这样的一张表test,它有一个自增的id作为主索引,现在要查询id号处于某一个范围内的记录,可以使用如下SQL语句:
这条SQL语句的意思是从id号为208888的记录开始向后取50条记录,在一个30万条记录的数据库中测试,在主索引都已经建立好的情况下,执行这条语句的时间为40~50秒,那么有没有更快SQL语句来执行呢?显然是有的,看看下面这条SQL语句:
这条语句使用了一个条件进行过滤,在实际中测试的执行时间约为0.06秒.
究其原因,是因为虽然id属性上已经有索引了,但是排序仍然是一个非常高代价的操作,要慎用,而第二个语句,就可以让MySql充分利用数据库中已经建立好的B+树索引,所以查找起来速度相当快,是原来的几百倍.
由此可见,网站开发者在使用SQL语句的时候,一定要小心谨慎,因为一个疏忽大意的SQL语句,可能使得你的网站访问速度急剧下降,后台数据库面临巨大压力,并且很快陷入无法打开页面的窘境.
希望本文所述对大家的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+mysql查询优化简单实例
- php mysql 一个查询优化的简单例子
- php mysql 一个查询优化的简单例子
- 简单php网站的mysql优化小结
- php+mysql写的简单留言本实例代码
- php写入MYSQL的简单实例
- Nginx+Mysql+PHP安装和配置,简单优化
- 重点看 一个实例讲解MySQL查询优化
- php+mysqli使用面向对象方式查询数据库实例
- MySQL随机查询的优化实例
- php对mysql简单读取的实例
- Flash+PHP+Mysql简单留言本制作实例教程
- PHP实例:用PHP简单实现多条件查询
- mysql经纬度查询并且计算2KM范围内附近用户的sql查询性能优化实例教程
- php+mysqli使用面向对象方式查询数据库实例
- php读取mysql的简单实例
- MySQL关联查询优化实例
- Asterisk 中Dialplan 应用于mysql查询的简单实例
- MySQL查询及其简单优化阐述
- MySQL查询优化:用子查询代替非主键连接查询实例介绍