热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

skymvc网站测试之mysql数据生成-PHP源码

skymvc网站测试之mysql数据生成
跳至 [1] [全屏预览]
$v){
				 unset($_SESSION[$k]);
			 }
		 }
		$this->onIncrement();
	}
	
	public function getNum($table){
		//设置表所需要的记录数
		$cf=array(
			"article"=>500000,
			"test"=>300000,
			"test2"=>300000,
		);
		if(!isset($cf[$table])){
			return 300000;
		}else{
			return $cf[$table];
		}
	}
	
	public function onAutoDelete(){
		set_time_limit(0);
		ob_implicit_flush(true);
		$res=M("article")->query("show tables");
		$data=M("article")->fetch_array(PDO::FETCH_NUM);
		$this->loadClass("spider");
		if($data){
			$uk=0;
			foreach($data as $k=>$t){
				$tables[]=$t[0];
				
				$urls[$uk][]="http://".$_SERVER['HTTP_HOST']."/index.php?m=test_mysql&a=delete&table=".str_replace(TABLE_PRE,"",$t[0]);
				
				if($k%$this->maxThreads==($this->maxThreads-1)){
					$uk++;
				}
				
			}
			echo "删除开始
"; echo '

0

'; foreach($urls as $k=>$us){ echo "第".$k."部分
"; flush(); @ob_flush(); $this->spider->start($us,function($data){ echo $data['url']."
".$data['content']."
"; flush(); @ob_flush(); },600); } } echo "本次删结束
"; flush(); @ob_flush(); echo ""; } public function onDelete(){ $table=get('table','h'); M($table)->query("delete from ".table($table)." where 1=1 limit 50000"); echo "delete $table success"; } /*更新自增id*/ public function onIncrement(){ $res=M("article")->query("show tables"); $data=M("article")->fetch_array(PDO::FETCH_NUM); if($data){ foreach($data as $k=>$t){ $table=str_replace(TABLE_PRE,"",$t[0]); M($table)->query("ALTER TABLE `sky_".$table."` AUTO_INCREMENT=1;"); } } echo "update increment"; } public function onAutoInsert(){ set_time_limit(0); ob_implicit_flush(true); $res=M("article")->query("show tables"); $data=M("article")->fetch_array(PDO::FETCH_NUM); $tables=array(); if($data){ $uk=0; foreach($data as $k=>$t){ $tables[]=$t[0]; $urls[$uk][]="http://".$_SERVER['HTTP_HOST']."/index.php?m=test_mysql&a=insert&table=".str_replace(TABLE_PRE,"",$t[0]); if($k%$this->maxThreads==($this->maxThreads-1)){ $uk++; } } $this->loadClass("spider"); echo "开始
"; echo '

0

'; foreach($urls as $k=>$us){ echo "第".$k."部分
"; flush(); @ob_flush(); $this->spider->start($us,function($data){ echo $data['url']."
".$data['content']."
"; flush(); @ob_flush(); },600); } echo "结束
"; flush(); @ob_flush(); } echo ""; } public function onInsert($table=''){ $inauto=true; if(!$table){ set_time_limit(0); $inauto=false; } $table=$table?$table:get('table','h'); if(!$table){ $table="article"; } $fields=$this->getFIelds($table); //为什么只执行到266 百思不得其解 $jnum=$this->getNum($table); for($j=0;$j<$this->maxrow;$j++){ $rscount=M($table)->selectOne(array( "fields"=>" count(1)" )); if($rscount>$jnum){ echo $table."测试数据已经够了
"; break; } if(!inauto){ echo "正在插入第".$j."千条
"; flush(); @ob_flush(); ob_clean(); } $data=array(); for($i=0;$i<1000;$i++){ $data[]=$this->dbPost($table); } $sql=" insert into ".table($table)."(".implode(",",$fields).") values "; foreach($data as $k=>$v){ if($k>0){ $sql.=","; } $sql.="("._implode($v).")"; } $sql.=";"; M($table)->query($sql); unset($data); unset($sql); } echo "success"; } public function getFIelds($table){ $fields=M($table)->getFields(); foreach($fields as $k=>$v){ if($k==0) continue; $data[]=$v['Field']; } return $data; } public function dbPost($table,$msg=''){ if(isset($_SESSION["field_".$table])){ $fields=$_SESSION["field_".$table]; }else{ $fields=M($table)->getFields(); $_SESSION["field_".$table]=$fields; } $msg=$msg?$msg:"skymvc是".date("Ymdhis")."最贴心的".date("Ymdhis")."php开发框架,快来使用吧!"; $data=array(); $gid=$this->getId($table); foreach($fields as $k=>$v){ if($k==0) continue; if(preg_match("/tinyint/i",$v['Type'])){ $data[$v['Field']]=rand(0,3); }elseif(preg_match("/int/i",$v['Type'])){ if($v['Field']=='dateline'){ $data[$v['Field']]=time(); }else{ $data[$v['Field']]=$gid; } }elseif(preg_match("/decimal/i",$v['Type'])){ $data[$v['Field']]=rand(1,100000); }elseif(preg_match("/datetime/i",$v['Type']) ){ $data[$v['Field']]=date("Y-m-d H:i:s"); }elseif($v['Field']=='bstatus'){ $data[$v['Field']]=1; }else{ $data[$v['Field']]=$msg; } } return $data; } public function getId($table){ if(!isset($_SESSION["autoid_$table"])){ $_SESSION["autoid_$table"]=1; }else{ $_SESSION["autoid_$table"]++; } return $_SESSION["autoid_$table"]; } } ?>


推荐阅读
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 如何在php中将mysql查询结果赋值给变量
    本文介绍了在php中将mysql查询结果赋值给变量的方法,包括从mysql表中查询count(学号)并赋值给一个变量,以及如何将sql中查询单条结果赋值给php页面的一个变量。同时还讨论了php调用mysql查询结果到变量的方法,并提供了示例代码。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
author-avatar
mobiledu2502910137
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有