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
相关文档:
<script language="javascript" type="text/javascript">
function checkbox()
{
var str=document.getElementsByName("chk");
var objarray=str.length;
var chestr="";
for (i=0;i<objarray;i++)
{
if(str[i].checked == true)
{
chestr+="1";
} else{
chestr+="0";
}
}
document.ge ......
JSON 是一项旨在允许中间件创建使用 JavaScript 固有格式的对象的协议。它最强大的属性是它是一种轻量级协议。简单处理 RSS 聚合或 recipe 列表时,您不需要在 JavaScript 中使用 XML 的全部功能。不需要验证格式或确保严格的数据键入。
编码和解码
有两个函数用于 JSON:encode 和 decode。第一个函数将把任意类型的数 ......
接收xml:
$xml = file_get_contents('php://input');
发送(post):
$xml_data = <xml>...</xml>";
$url = http://dest_url;
$header[] = "Content-type: text/xml";//定义content-type为xml
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_ ......
array array_diff
( array array1, array array2 [, array
...] )
array_diff()
返回一个数组,该数组包括了所有在 array1
中但是不在任何其它参数数组中的值。注意键名保留不变。
猛的一看这个方法,还以为是将两个数组中不同的返回来呢,事实上不是,返回的是在array1中的,但是不在其他数组中的。 ......