Home Backend Development PHP Tutorial php+mysql查询优化简单实例_php技巧

php+mysql查询优化简单实例_php技巧

May 16, 2016 pm 08:25 PM
mysql php optimization Inquire

本文实例分析了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程序设计有所帮助。

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian

CakePHP Date and Time CakePHP Date and Time Sep 10, 2024 pm 05:27 PM

CakePHP Date and Time

CakePHP Project Configuration CakePHP Project Configuration Sep 10, 2024 pm 05:25 PM

CakePHP Project Configuration

CakePHP File upload CakePHP File upload Sep 10, 2024 pm 05:27 PM

CakePHP File upload

CakePHP Routing CakePHP Routing Sep 10, 2024 pm 05:25 PM

CakePHP Routing

Discuss CakePHP Discuss CakePHP Sep 10, 2024 pm 05:28 PM

Discuss CakePHP

How to fix mysql_native_password not loaded errors on MySQL 8.4 How to fix mysql_native_password not loaded errors on MySQL 8.4 Dec 09, 2024 am 11:42 AM

How to fix mysql_native_password not loaded errors on MySQL 8.4

CakePHP Quick Guide CakePHP Quick Guide Sep 10, 2024 pm 05:27 PM

CakePHP Quick Guide

See all articles