以图明志

PHP服务器脚本

PHP获取生成一个页面的数据库查询次数

顺便计算脚本生成时间
很多博客软件都有这么一个功能,比如“生成本次页面一共花费了xx毫秒,进行了xx次数据库查询”等等。那么这个功能是如何实现的呢,下面我大概说下思路。首先在类的构造函数中声明全局变量,定义一个全局变量 $queries 用来统计页面生成经过的数据库查询次数。

数据库技术

如何提高MySQL Limit查询的性能

获取到offset的id
在MySQL数据库操作中,我们在做一些查询的时候总希望能避免数据库引擎做全表扫描,因为全表扫描时间长,而且其中大部分扫描对客户端而言是没有意义的。其实我们可以使用Limit关键字来避免全表扫描的情况,从而提高效率。有个几千万条记录的表 on MySQL 5.0.x,现在要读出其中几十万万条左右的记录。

数据库技术

MySQL Query Cache查询缓存介绍

降低你的数据库访问压力
顾名思义,MySQL Query Cache 就是用来缓存和 Query 相关的数据的。具体来说,Query Cache 缓存了我们客户端提交给 MySQL 的 SELECT 语句以及该语句的结果集。大概来讲,就是将 SELECT 语句和语句的结果做了一个 HASH 映射关系然后保存在一定的内存区域中。

数据库技术

SQL笔试题:公司员工与部门查询

一道面试题,可以补充你SQL知识的不足
列出EMPLOYEES表中各部门的部门号,最高工资,最低工资:select max(SALARY) as 最高工资,min(SALARY) as 最低工资,DEPARTMENT_ID from EMPLOYEES group by DEPARTMENT_ID;

数据库技术

GROUP BY分组查询与SQL执行顺序

SQL SELECT语句的执行顺序
在SQL中使用GROUP BY来对SELECT的结果进行数据分组,在具体使用GROUP BY之前需要知道一些重要的规定。对分组过于采用HAVING子句。HAVING子句支持所有WHERE的操作。HAVING与WHERE的区别在于WHERE是过滤行的,而HAVING是用来过滤分组。另一种理解WHERE与HAVING的区别的方法是,WHERE在分组之前过滤,而HAVING在分组之后以每组为单位过滤。

数据库技术

优化数据库查询的一些原则

让你的网站数据响应更加迅速
可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描。

数据库技术

SQL中的模糊查询介绍

模糊查询功能非常强大
执行数据库查询时,有完整查询和模糊查询之分。一般模糊语句如下:SELECT 字段 FROM 表 WHERE 某字段 Like 条件其中关于条件,SQL提供了四种匹配模式。由于通配符的缘故,导致我们查询特殊字符“%”、“_”、“[”的语句不能正常实现,而把特殊字符用“[ ]”括起便可正常查询。

开源项目与工具

ECMall的数据库查询缓存机制

对数据库进行一些操作上的缓存影响
第一次查询的数据是对的,然后经过模板解析后的数据怎么都不正确。后来发现,Ecmall有这么一个机制。先是经过app进行数据库操作,操作完毕后会在 temp/compileed/ 下留下模板缓存,而且第一次数据库查询后会产生数据库缓存。这压根就说明,二次开发,最好不要用自己的数据库函数,用Ecmall自带的比较好。
1 / 1 首页 < Prev 1 Next > 尾页 页码: