php sql级别优化

1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。
2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。
3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:
select id from t where num is null
可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:
select id from t where num=0
4.应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如:
select id from t where num=10 or num=20
可以这样查询:
select id from t where num=10
union all
select id from t where num=20 Continue reading »php sql级别优化

MongoDB与PHP

Windows PHP的MongoDB拓展的安装

windows下用php操作MongoDB需要安装驱动,所需dll可以到http://github.com/mongodb/mongo-php-driver/downloads 下载。比如我的php版本是5.2.6,我下载的就是mongo-1.0.9-php5.2vc6ts.zip。

把php_mongo.dll放到你php的ext目录,然后php.ini中加入

extension=php_mongo.dll

重启web服务器就可以了。是否成功可以通过查看phpinfo() 函数的结果中是否加载了MongoDB模块儿来判定。

与mysql对应的php下数据库管理工具phpmyadmin类似,MongoDB下的php数据库管理工具为phpmoadmin可以到http://www.phpmoadmin.com/ 这里下载,放到你的web路径下就ok。

现在你可以开始自己的php与MongoDB的开发之旅了。

 

Linux PHP的MongoDB拓展的安装 # wget http://pecl.php.net/get/mongo-1.2.6.tgz # tar zxvf mongo-1.2.6.tgz # cd mongo-1.2.6 # /usr/local/php/bin/phpize # ./configure –enable-mongo=share –with-php-config=/usr/local/php/bin/php-config # make && make installl

将生成的拓展mongo.so文件添加到php.ini中,重启php-fpm,然后查看下phpinfo()

请编辑php.ini文件。添加如下一行:

PHP Code复制内容到剪贴板 extension=mongo.so

然后用php输出:phpinfo,就可以看到mongo的信息了。。这样就说明你安装成功的了!

PHP操作MongoDB

本教程[翻译自PHP官方手册]

MongoDB是最近比较流行的NoSQL数据库,网络上关于PHP操作MongoDB的资料太少了,大部分都是英文文档,于是蜗牛我用蹩脚的英语为大家翻译一下来自PHP官方的文档,水平有限请多多见谅

链接数据库 使用下面的代码创建一个数据库链接

<?php $connection = new Mongo(); //链接到 localhost:27017 $connection = new Mongo( “example.com” ); //链接到远程主机(默认端口) $connection = new Mongo( “example.com:65432″ ); //链接到远程主机的自定义的端口 ?>

现在你可以使用$connection链接来操作数据库了

选择数据库 使用下面的代码来选择一个数据库

<?php $db = $connection->dbname; ?>

这里的数据库并不一定是一个已经存在的数据库,如果所选择的数据库不存在,则会新建一个数据库,所以在选择数据库的时候,注意一定要填上正确的数据库名 如果拼写错误的话,很有可能会新建一个数据库

<?php $db = $connection->mybiglongdbname; //做一些事情 $db = $connection->mybiglongdbnme; //现在会连上一个新的数据库 ?>

获取一个集合 获取一个集合跟选择数据库拥有相同的语法格式

<?php $db = $connection->baz;//选择数据库 $collection = . . . → Read More: PHP操作MongoDB

什么是MongoDB

2010年应该被人们记住,因为SQL将在这一年死去。这一年关系数据库行将就木,这一年开发者发现他们再不需要长时间辛苦的构造列或者表格来存放数据。

2010年将是文档型数据库的起始年。尽管这样的势头已经持续多年,现在才是一个更多,更广泛的文档型数据库出现的年代。从基于云计算的Amazon到Google,大量开源工具,以及随之诞生的CouchDB和MongoDB。

那么什么是MongoDB?下面有五件事是PHP开发者应该了解的。

1.MongoDB是一个单独的服务器

2.MongoDB是基于文档,而不是基于表

3.MongoDB中较少的Schema

4.你不需要学习另外的语言

5.MongoDB有良好的PHP支持 Continue reading »什么是MongoDB

php模板实现

         php开发中常用的模板有smarty, zend framework自身也有一套模板。实际上除非不得不使用它们,否则你应该很快就意识到,使用起来并不怎么方便。smarty需要引入库文件,学习smarty模板语法,虽然和php相似,却又不尽相同,增加了学习成本,使用起来还要config一下。要想使用ZendFramework 中的模板,肯定得使用ZF库不可,已使用ZF库,开发模式便很容易被限制在ZF下,所以也不是很灵活。

       先说一说为什么要使用模板技术,实际开发中所谓模板,不过是一段特殊的静态代码与动态变量的结合。所以调用模板函数时最常用的两个方法是:
(1) $tplObject->assign($key,$value)  — 模板变量赋值。(2)$tplObject->fetch($template_file) — 将模板对象与某一个模板文件结合输出结果。 Continue reading »php模板实现