摘要: 摘要:第一部分:基础知识第二部分:MYISAM和INNODB索引结构1、简单介绍B-tree B+ tree树2、MyisAM索引结构3、Annode索引结构4、MyisAM索引与InnoDB索引相比较第三部分:MYSQL优化1、表数据类型选择2、sql语句优化(1)最左前缀原则(1.1)能正确的利用索引(1.2)不能正确的利用索引(1.3)如果一个查询where子句中确实不需要password列,那就用“补洞”。(1.4)like(2)Order by优化(2.1)filesort优化算法.(2.2)单独order by用不了索引,索引考虑加where或加limit(2.3)where + 阅读全文
posted @ 2012-08-31 00:32 ﹏Sakura 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 字符串连接 strcmp#include <stdio.h>void main(){ char c1[] = "Hello ", c2[]="WORLD", c3[13]; int i,j,k; i=j=k=0; while(c1[i] != '\0' || c1[j] != '\0'){ if(c1[i] != '\0'){ c3[k] = c1[i++]; }else{ c3[k] = c2[j++]; } k++; } c3[k]= '\0'; puts(c3);}杨辉三角 阅读全文
posted @ 2012-08-26 23:54 ﹏Sakura 阅读(136) 评论(0) 推荐(0) 编辑
摘要: #include <stdio.h>int main(){ float sum = 0.0,avg = 0.0; int Good ,normal,fine,bad,num ,count; count = num = Good = normal = fine = bad = 0; scanf("%d",&num); while(num>0 && num<101){ sum += num; count += 1; if(num >= 90){ Good +=1; }else if(num>=... 阅读全文
posted @ 2012-08-22 20:44 ﹏Sakura 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 最近都写了很多博文,其实这些都是一些总结性东西,之前我学习新东西的笔记都是写到word文档里面,渐渐地我发现,写在word文档很麻烦。修改Word文档很不便,而博文就像云服务一样,随处可以修改,只要发现之前写的博文欠妥或者不够完善了,马上就可以修改。后续将会继续把之前总结在word的内容copy上来:设计模式,数据结构与算法,linux编程之类等等。因此我渐渐地把之前的一些内容copy到博文这里来。一方面是易于修改,另外方面是温故而知新。当然了,最新的一些博文有些是新内容的,那些都涉及到PHP内核。最近开始深入PHP内核,了解底层。顺便提到做为php开发者,我认为先把php学好学精,术业有专攻 阅读全文
posted @ 2012-08-21 21:34 ﹏Sakura 阅读(444) 评论(0) 推荐(1) 编辑
摘要: 1.尽量静态化:如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍。当然了,这个测试方法需要在十万级以上次执行,效果才明显。其实静态方法和非静态方法的效率主要区别在内存:静态方法在程序开始时生成内存,实例方法在程序运行中生成内存,所以静态方法可以直接调用,实例方法要先成生实例,通过实例调用方法,静态速度很快,但是多了会占内存。任何语言都是对内存和磁盘的操作,至于是否面向对象,只是软件层的问题,底层都是一样的,只是实现方法不同。静态内存是连续的,因为是在程序开始时就生成了,而实例申请的是离散的空间,所以当然没有静态方法快。静态方法始终调用同一块内存,其 阅读全文
posted @ 2012-08-21 20:53 ﹏Sakura 阅读(31427) 评论(6) 推荐(7) 编辑
摘要: 一、先看最简单的情况。有两个数组:$arr1 = array(1,9,5);$arr2 = array(6,2,4);array_multisort($arr1,$arr2);print_r($arr1); // 得到的顺序是1,5,9print_r($arr2); // 得到的顺序是6,4,2我估计两个数组的值自始至终都是对应着的:1对应6,9对应2,5对应4。我们再加多一个数组看看会怎样:$arr1 = array(1,9,5);$arr2 = array(6,2,4);$arr3 = array(3,7,8);array_multisort($arr1,$arr2,$arr3);查看结果 阅读全文
posted @ 2012-08-21 00:20 ﹏Sakura 阅读(948) 评论(0) 推荐(0) 编辑
摘要: <?php$dir = "D:/www/";function scanf_dir($dir , $level = 0){ if(( $level == 0 &&!is_dir($dir)) || !is_readable($dir)){ //节省一处判断很重要! die("$dir 路径无效"); } $handler = opendir($dir); while(false !== ($file = readdir($handler)) ){ if(in_array($file,array('.','..& 阅读全文
posted @ 2012-08-18 15:13 ﹏Sakura 阅读(282) 评论(0) 推荐(0) 编辑
摘要: mysql 中我们经常会遇到将两个表中的记录合并到一起,做个sum,在mysql数据库中提供了UNION和UNION ALL关键字,这两个关键字都是将结果集合并为一个,但这两者从使用和效率上来说都有所不同。 MySQL中的UNION UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNION。如: select * from table union select * from table 这个SQL在运行时先取出两个表的结果,再用排序空间进行排序删除重复的记录,最后 阅读全文
posted @ 2012-08-17 21:59 ﹏Sakura 阅读(1715) 评论(0) 推荐(0) 编辑
摘要: <?php/*** create by :xiaojiang* PHP log 类 日志入库功能 仅供交流学习*/class Config{ public static function getConfig (){ return array( 'LOG_LEVEL'=>75 //INFO ); }}class Log{ private $LogFile; private $logLevel; const DEBUG = 100; const INFO = 75; const NOTICE = 50; ... 阅读全文
posted @ 2012-08-16 00:10 ﹏Sakura 阅读(931) 评论(0) 推荐(0) 编辑
摘要: 没法清空文件夹内容 只能清空指定链接缓存<?phpfunction clearVarnish($ip,$url,$host=null){ $errstr = ''; $errno = ''; $varnist_arr = isset($host) ? $host : C('VARNISH_LIST'); foreach ($varnist_arr as $v){ $fp = fsockopen ($ip, 2000, $errno, $errstr, 2); if (!$fp) { return false; ... 阅读全文
posted @ 2012-08-15 10:08 ﹏Sakura 阅读(610) 评论(0) 推荐(0) 编辑