- 博客(36)
- 资源 (4)
- 收藏
- 关注
翻译 设计Mysql索引的原则
1. 搜索的索引列,不一定是所要选择的列。换句话说,最适合索引的列是出现在WHERE 子句中的列,或连接子句中指定的列,而不是出现在SELECT 关键字后的选择列表中的列。 2. 使用惟一索引。考虑某列中值的分布。对于惟一值的列,索引的效果最好,而具有多个重复值的列,其索引效果最差。例如,存放年龄的列具有不同值,很容易区分各行。而用来记录性别的列,只含有“ M”和“F”,则对此列
2014-10-08 18:43:50
1588
2
转载 MySQL Hash索引和B-Tree索引的区别
MySQL Hash索引和B-Tree索引的区别究竟在哪里呢?相信很多人都有这样的疑问,下文对两者的区别进行了详细的分析,供您参考。 MySQL Hash索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。 可 能很多人又有疑问了
2014-10-08 18:06:39
462
转载 MySQL索引类型一览 让MySQL高效运行起来
索引是快速搜索的关键。MySQL索引的建立对于MySQL的高效运行是很重要的。下面介绍几种常见的MySQL索引类型。在数据库表中,对字段建立索引可以大大提高查询速度。假如我们创建了一个 mytable表:CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL ); 我们随机向里面插入了
2014-10-08 16:42:23
470
转载 mysql存储引擎
mysql存储引擎较常用的有两种,一种是InnoDB,另一种是MyISAM,接下来是围绕这两快分析。一、InnoDB InnoDB是mysql的默认事物型引擎,也是最重要使用最广泛的存储引擎。 它的数据存储在表空间中,表空间是由InnoDB管理的一个黑盒子,由一系列的数据文件组成。InnoDB可以将每个表的数据和索引存放在单独的文件中。InnoDB也
2014-09-21 12:49:54
556
翻译 PHP设计模式之迭代器模式(Iterator)
迭代器模式为聚合对象的元素提供一种顺序访问的方式,又能让访问者不必关心聚合对象内部的内部实现。实际上我们平常使用最多的数组foreach操作就是在使用迭代器(注意:迭代器并不等于迭代器模式)。从PHP 5.3开始,PHP开始内置了Iterator接口,为我们实现迭代器模式提供了便利:
2014-05-30 12:04:31
676
转载 RabbitMQ消息队列
RabbitMQ是一个消息代理。它的核心原理非常简单:接收和发送消息。你可以把它想像成一个邮局:你把信件放入邮箱,邮递员就会把信件投递到你的收件人处。在这个比喻中,RabbitMQ是一个邮箱、邮局、邮递员。RabbitMQ和邮局的主要区别是,它处理的不是纸,而是接收、存储和发送二进制的数据——消息。一般提到RabbitMQ和消息,都用到一些专有名词。生产(Producing)意思就是发送。
2014-05-29 15:14:18
1462
原创 HTTP中304解剖
最近和同事一起看Web的Cache问题,又进一步理解了 HTTP 中的 304 又有了一些了解。304 的标准解释是:Not Modified 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。如 果客户端在请求一个文件的时候,发现自己缓存的文件有 Last Mod
2014-05-29 10:47:13
932
转载 [转载]PHP设计模式之:原型模式
刚刚了解了原型模式,通过资料以及自身了解整合以下资料: 原型模式通过复制已经存在的实例来返回新的实例,而不是新建实例,并且原型(被复制的实例)是可定制的;原型模式多用于创建复杂的或耗时的实例,这种情况下,复制一个已经存在的实例是程序运行更高效无疑是一种好办法;概念: 用原型实例创建对象的种类,并通过拷贝这些原型创建的对象;结构图:主要角色
2014-05-28 16:51:38
754
转载 Nginx负载均衡
nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态、静态页面的分离,可以按照轮询、ip哈希、URL哈希、权重等多种方式对后端服务器做负载均衡,同时还支持后端服务器的健康检查。如果只有一台服务器时,这个服务器挂了,那么对于网站来说是个灾难.因此,这时候的负载均衡就会大显身手了,它会自动剔除挂掉的服务器.下面简单的介绍下我使用Ngi
2014-04-02 23:14:43
725
翻译 PHP 中的isset empty区别
PHP的isset()函数 一般用来检测变量是否设置若变量不存在则返回 FALSE 若变量存在且其值为NULL,也返回 FALSE 若变量存在且值不为NULL,则返回 TURE 同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE 版本:PHP 3, PHP 4, PHP 5 更多说明: 使用 unset() 释放变量之后,它将不再是
2014-03-25 13:51:43
678
原创 ajax 请求
var url = '/task/add'; var data = {name:name,type:type };$.ajax({ type: "POST", url: url, data: data, dataType: "json", success: function(rs){ if(rs.s
2014-03-06 18:34:16
635
原创 PHP安全编程:跨站脚本攻击
跨站攻击攻击是众所周知的攻击方式之一。所有平台上的Web应用都深受其扰,PHP应用也不例外。所有有输入的应用都面临着风险。Webmail,论坛,留言本,甚至是Blog。事实上,大多数Web应用提供输入是出于更吸引人气的目的,但同时这也会把自己置于危险之中。如果输入没有正确地进行过滤和转义,跨站脚本漏洞就产生了。以一个允许在每个页面上录入评论的应用为例,它使用了下面的表单帮助用户进行提交:
2014-01-14 10:36:27
1066
原创 PHP 数组处理(一)
导语: 在PHP中如果能熟练掌握数组相关的知识,您将对PHP 有了很深刻的认识,将会处理很多事情,PHP数组确实很强大,每个PHP开发人员都需要掌握,这样才能在项目中运用自如。一、array_values() 这个函数返回一个包含给定数组中所有键值的数组,但不保留键名 如:$va = array(1=>23,'l'=>45,9=>9
2014-01-14 00:40:12
998
原创 PHP友好时间处理
在实际开发过程中会用到友好时间,PHP语言能较好的处理这个功能,该功能大致图如下:封装了一个函数,函数如下:function getTime($btime, $etime){ if ($btime < $etime) { $stime = $btime; $endtime = $etime; }else { $s
2013-12-26 17:00:30
611
原创 PHP之call_user_func函数和call_user_func_array函数
一、call_user_func函数详解: call_user_func函数是当需要动态调用函数时,才使用的,这个函数有两种用法:方法一:function funca($b, $c){ echo $b.''; echo $c.'';}call_user_func('funca',111,22);$b $c值如下:方法二:调用类内部的函数
2013-12-09 23:59:16
635
原创 PHP中func_get_args系列函数的区别
一、func_get_args函数 本函数主要是为了获取函数的参数。function aa(){ $args = func_get_args(); var_dump($args); echo $args[0];echo func_get_arg(0); }aa('a','id');如上程序,执行aa函数,func_get_
2013-12-09 23:38:30
1319
原创 关于thinkphp视图详解
用thinkphp开发的时候经常会用到多表查询、这个时候tp框架对多表查询封装好了方法,如我们可以使用如下的方法。$Model->table('think_blog Blog,think_category Category,think_user User')->field('Blog.id,Blog.name,Blog.title,Category.title as catego
2013-08-23 00:01:00
1343
1
原创 关于PHP数组索引加不加引号的区别
今天有一学生问了我一个问题,说输出索引数组键值不加上引号为什么可以运行它和加引号以及不加有什么区别? 下面我们来看一个例子<?php$url = $_SERVER['REQUEST_URI'];echo "1 ---- ".$url."";$url = parse_url($url);echo "2 ---- ".$url[path]."";echo "3 ----
2013-08-20 22:59:00
2150
原创 数据库三范式详解
第一范式:确保每列的原子性. 如果每列(或者每个属性)都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式. 例如:顾客表(姓名、编号、地址、年龄)这些都是不能再分的, id name address age
2013-06-27 13:39:33
662
原创 PHP put提交和获取数据
1、下面为模拟提交文件 2.php/** * * @param $url * @param $data * @param $method */function curlrequest($url,$data,$method='post'){ $ch = curl_init(); //初始化CURL句柄 curl_setopt($ch, CURLOPT_URL, $url);
2013-04-01 11:04:58
11325
转载 PHP urlencode详解
PHP中对于URL进行编码,可以使用 urlencode() 或者 rawurlencode(),二者的区别是前者把空格编码为 '+',而后者把空格编码为 '%20',不过应该注意的是,在编码时应该只对部分URL编码,否则URL中的冒号和反斜杠也会被转义。下面是详细解释:///\\\ string urlencode ( string str) 返回字符串,此字符串中除了 -_. 之外
2013-01-06 21:04:52
1705
原创 Ajax跨域请求的解决方案
Ajax跨域请求的解决方案 今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究,发现JQuery对于Ajax的跨域请求有两类解决方案,不过都是只支持get方式。分别是JQuery的 jquery.ajax jsonp格式和jquery.getScr
2013-01-01 14:17:51
894
原创 PHP 配置虚拟域名访问
本内容分以下几个步骤:1、首页我们得找到host文件、这个文件在c盘中WINDOWS\system32\drivers\etc\hosts在该文件中插入:# localhost name resolution is handled within DNS itself.# 127.0.0.1 localhost# ::1 local
2012-12-31 23:19:53
6364
原创 PHP获取header头部信息详解
以下是获取http请求 中 header头部信息函数、用处挺多的。/** * *接收头信息 *by 20120829 **/ function em_getallheaders() { foreach ($_SERVER as $name => $value) { if (
2012-12-29 23:32:43
16498
1
原创 PHP之抓取网页数据-终结版
最近在公司开发一项目、配合客户端人员开发接口,接口中需要接受客户端人员传递过来的头部信息,所以在浏览器中访问这个接口就无法访问、因为你传递的参数不全,最近想了一个方法:那就是在本地模拟一些数据提交,这个时候本人用到的是fsockopen函数,这个函数挺不错的。。 function index(){ $posturl = "XXX"; $Did =
2012-12-29 23:21:26
1289
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人