php读写上亿记录数据库测试
硬件:Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz 4G内存
1、哈希型数据库
2、关系型数据库
表结构
name sex age memo1 memo2 memo3 memo4 memo5 memo6 memo7 memo8 memo9 memo10 memo11 memo12 memo13
对age字段做索引
第一次写:10万条记录 20秒
第二次写:40万条记录 140秒
第二次写:20万条记录 293秒
写数据,当记录数增大的时候,写入的数据变慢
读:1000次 没找到:大概120毫秒 找到一条:大概190毫秒 10万条记录
读:1000次 没找到:大概120毫秒 找到一条:大概190毫秒 50万条记录
读:1000次 没找到:大概120毫秒 找到一条:大概190毫秒 70万条记录
记录数的增加,对查找速度没影响。如果有返回信息则影响速度。返回的信息越多速度越慢。
测试程序:
写:
<?php
set_time_limit(86400);
require_once("inc/comm.inc.php");
function getmicrotime()
{
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
function getName()
{
$str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
$len = strlen($str);
$password = "";
for($i=1;$i<=8;$i++){
$num=rand(0,$len-1);
$password = $password.$str[$num];
}
return $password;
}
$objTest=ClsTt::getTt("DB");
$time_start = getmicrotime(); //获取程序开始执行的时间
for($i=0;$i<200000;$i++)
{
$key=getName();
$arrCols=array('name'=>$key,
'sex'=>rand(0,1),
'age'=>rand(18,60),
'memo'=>'memo',
'memo2'=>'memo2',
'memo3'=>'memo3',
'memo4'=>'memo4',
'memo5'=>'memo5',
'memo6'=>'memo6',
'memo7'=>'memo7',
'memo8'=>'memo8',
'memo9'=>'memo9',
'memo10'=>'memo10',
'memo11'=>'memo11',
'memo12'=>'memo12',
&nbs
相关文档:
对于PHP
,很多朋友抱怨发展问题
,能力问题。还有自己以后的发展及薪水问题。还有一些口吻就是PHP不行,不适合大型架构等等。快下班了,作为一个开发
PHP已经6年多了老鸟,在这里随意说上几句。希望能对那些刚刚入门的PHPER有些帮助。
首先任何语言的能力关键在于自己的技术能力。否则给你一架波音 ......
JSON 是一项旨在允许中间件创建使用 JavaScript 固有格式的对象的协议。它最强大的属性是它是一种轻量级协议。简单处理 RSS 聚合或 recipe 列表时,您不需要在 JavaScript 中使用 XML 的全部功能。不需要验证格式或确保严格的数据键入。
编码和解码
有两个函数用于 JSON:encode 和 decode。第一个函数将把任意类型的数 ......
php 中生成随机字符串的方法
2009-10-20 13:56
在一些特殊应用中,需要生成随机字符串,比如生成系统随机密码或者是登陆验证码等,本文介绍的函数能够返回指定长度的随机字符串,默认包含大小写字母和数字,你可以很容易的修改以便符合自己的需要。
<?php
// 说明:php 中生成随机字符串的方法
// 整理:http://ww ......
数学函数
Abs
函数描述:mixed abs(mixed number);
返回值:函数abs返回参数number的绝对值。
Acos
函数描述:double acos(double number);
返回值:函数acos返回参数number的反余弦值。如果参数number大于1或小于1,
则其反余弦值无意义 。
Acosh --
反双曲余弦
Asin
函数描述;double asin(double number); ......