减少数据库的查询php 数据库减少了数据的冗余

thinkphp008. 数据库的数据查询

008. 数据库的数据查询

于2013年成立成都创新互联专注于”帮助中小企业+互联网”, 也是目前成都地区具有实力的互联网服务商。团队致力于为企业提供--站式网站建设、移动端应用( H5手机营销、重庆APP开发、微信开发)、软件开发、信息化解决方案等服务。

本节课我们来了解一下数据库的数据查询方式,单数据、数据集和其它查询。

一.单数据查询

1. Db::table()中table必须指定完整数据表(包括前缀);

2. 如果希望只查询一条数据,可以使用find()方法,需指定where条件;

Db::table('tp_user')-where('id', 27)-find()

3. Db::getLastSql()方法,可以得到最近一条SQL查询的原生语句;

SELECT * FROM `tp_user` LIMIT 1

4. 没有查询到任何值,则返回null;

5. 使用findOrFail()方法同样可以查询一条数据,在没有数据时抛出一个异常;

Db::table('tp_user')-where('id', 1)-findOrFail()

6. 使用findOrEmpty()方法也可以查询一条数据,但在没有数据时返回一个空数组;

7. Db::table('tp_user')-where('id', 1)-findOrEmpty();

二.数据集查询

1. 想要获取多列数据,可以使用select()方法;

Db::table('tp_user')-select(); SELECT * FROM `tp_user`

2. 多列数据在查询不到任何数据时返回空数组,使用selectOrFail()抛出异常; Db::table('tp_user')-where('id', 1)-selectOrFail();

3. 在select()方法后再使用toArray()方法,可以将数据集对象转化为数组;

4. 当在数据库配置文件中设置了前缀,那么我们可以使用name()方法忽略前缀; Db::name('user')-select();

三.其它查询

1. 通过value()方法,可以查询指定字段的值(单个),没有数据返回null;

Db::name('user')-where('id', 27)-value('username');

$user = Db::table('tp_user')-select()-toArray(); dump($user);

2. 通过colunm()方法,可以查询指定列的值(多个),没有数据返回空数组; Db::name('user')-column('username');

3. 可以指定id作为列值的索引;

4. 如果处理的数据量巨大,成百上千那种,一次性读取有可能会导致内存开销过大;

5. 为了避免内存处理太多数据出错,可以使用chunk()方法分批处理数据;

6. 比如,每次只处理100条,处理完毕后,再读取100条继续处理;

7. 可以利用游标查询功能,可以大幅度减少海量数据的内存开销,它利用了PHP生成器特性。每次查询只读一行,然后再读取时,自动定位到下一行继续读取;

Db::name('user')-column('username', 'id');

Db::table('tp_user')-chunk(3, function($users) { foreach ($users as $user) {

dump($user);

}

echo 1; });

$cursor = Db::table('tp_user')-cursor(); foreach($cursor as $user){

dump($user);

}

php 如何避免在循环体里查询数据库,优化方法??

办法就是一次性全查询出来,然后用PHP程序来处理,优点是减少数据库连接查询次数,提高效率,缺点就是,有可能会多写一部分php代码。总的来说php的处理速度要比循环查询要效率高。

怎么提高php编程能力?

要想提高你的PHP编程能力,你可以做两件事情:1)更扎实的掌握基本编程技能;2)更细微、更深入地了解PHP。

以下总结出的几条指南导航将有助于提高开发者的PHP编程能力:

一、提高PHP编码能力的10个细节

或许你并不能从这些细节中学到绝对新的东西(例如“如何对变量和函数做好的命名”,“对代码做好注释”,“频繁测试代码”),而它们可以让你巩固基础知识。以下几点解释了为什么最好的普通编程实践在PHP应用软件开发中尤为重要。

其中10点建议分别为:

1)如何开始良好的开发风格;

2)合适的变量及函数命名;

3)注释代码;

4)自己动手做大部分的工作;

5)多方涉猎;

6)了解开发语言的局限性;

7)接受结构上的意见反馈;

8)频繁的测试代码;

9)在自己的工程上内嵌程序;

10)不要把每一个文件都分一个文件夹

二、写出更优PHP代码的7条法则

以下7种方法列举出了PHP开发商极有可能面对的问题(例如不使用模板,不合适的封装,在增删修改时PHP和SQL的混淆使用等等),对于那些很有可能危害到PHP应用程序运行的各种复杂语句,该指南也提供了多种方法来清除(例如对大容量的网页减少数据库查询)。

以下是关键点:

1)在模板中使用可选择的PHP语法;

2)封装所有的东西;

3)使用一个数据库对象;

4)使用增删查改功能;

5)与调试为友;

6)重视命名;

7)减少数据库查询。


本文题目:减少数据库的查询php 数据库减少了数据的冗余
文章链接:http://scyanting.com/article/ddehioc.html