时间:2020-05-10 00:11:51 | 栏目: | 点击:次
Allowed memory size of 134217728 bytes exhausted必须把php.ini的memory_limit开到1024M才能查询。且查询也没有用到fetchAll只是query。而mysql 和mysqli可以128M内在限制下运行。
start pdo... ...2.3373029232025 ...2.3417119979858 ...2.2374789714813 ...3.187735080719 ...2.2158219814301 ...2.1973550319672 ...2.1981711387634 ...2.1964230537415 ...3.1916470527649 ...2.2108449935913 ...2.2034590244293 average 2.6517951250076 start mysqli.... 209840...1.6516010761261 209840...0.62066102027893 209840...1.6278269290924 209840...1.6215031147003 209840...0.63836812973022 209840...1.6128249168396 209840...0.64786219596863 209840...1.6257820129395 209840...1.6182668209076 209840...0.64711594581604 209840...1.6313529014587 average 1.3943165063858 start mysql... 209840...1.6287319660187 209840...0.60986304283142 209840...1.6302440166473 209840...0.60696887969971 209840...1.6387059688568 209840...1.6185088157654 209840...0.65926814079285 209840...1.6151170730591 209840...1.6063089370728 209840...0.61127114295959 average 1.2224987983704
<?php
$total=0;
echo "start pdo...<BR>";
for ($i=0;$i<=10;$i++) {
$t=time();
$m=microtime(true);
$dsn="mysql:host=localhost;dbname=westmis";
$PDO_dblink=new PDO ($dsn,'web','admin');
$PDO_dblink->query("SET NAMES 'GBK'");
$PDO_dblink->query("select * from 10000_base");
echo "...";
$a=time()-$t+microtime(true)-$m;
echo $a;
$total=$total+$a;
echo "<BR>";
flush();
}
$total=$total/10;
echo "average $total <BR>";
$total=0;
echo "<HR> start mysqli....<BR>";
for ($i=0;$i<=10;$i++) {
$t=time();
$m=microtime(true);
$link=mysqli_connect('localhost','web','admin');
mysqli_select_db($link,"westmis");
mysqli_set_charset($link,"GBK");
$result=mysqli_query($link,"select * from 10000_base");
echo mysqli_num_rows($result);
echo "...";
$a=time()-$t+microtime(true)-$m;
echo $a;
$total=$total+$a;
echo "<BR>";
}
$total=$total/10;
echo "average $total <BR>";
echo "<HR>";
echo "start mysql...<BR>";
$total=0;
for ($i=1;$i<=10;$i++) {
$t=time();
$m=microtime(true);
$link=@mysql_connect('localhost','web','admin');
mysql_select_db("westmis");
mysql_query("SET NAMES 'GBK'");
$result=mysql_query("select * from 10000_base");
echo mysql_num_rows($result);
echo "...";
$a=time()-$t+microtime(true)-$m;
echo $a;
$total=$total+$a;
echo "<BR>";
flush();
}
$total=$total/10;
echo "average $total <BR>";