减少数据库的查询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://scjbc.cn/article/ddehioc.html