`
feiniao2029
  • 浏览: 22315 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mysql循环插入数据

 
阅读更多

需要在数据库中根据product表中的自增id,如果存在则插入对应的数据到pageview表,数据有几万条

drop procedure if exists autoInsert;

create procedure autoInsert()

begin 

declare i int;

declare j int;

set i=1;

while(i<40001) do

if exists(select auto_id from product where auto_id=i ) then

set j=i;

if (select count(game_id) from pageview where game_id=j)=0  then

insert into pageview(game_id,week_pv,last_week_pv,month_pv,total_pv,admin_time) values(i,100+i,50+i,500+i,2000+i,now());

end if;

end if;

set i=i+1;

end while;

end

 

(1)其中循环嵌套时,如果直接嵌套发现总是执行不成功,所以加上了set j = i;

(2)执行效率问题,由于数据量巨大,因此需要将表product和表pageview对应的字段都建立索引。

(3)if语句中选择的东西要保证是索引值,这样效率就会提升很多

 

最终插入4W条数据花费时间:

影响的数据栏: 1      //其中1并不是记录数

时间: 10.266ms


 

分享到:
评论

相关推荐

    往mysql循环插入几千万条数据

    做测试时,到mysql数据库循环插入千万条数据的java代码

    mysql 批量插入测试数据

    mysql 批量插入测试数据 ,可判断条件插入数据,随心所遇插入,do where 循环

    MySQL循环插入千万级数据

    1、创建测试表 CREATE TABLE `mysql_genarate` ( `id` int(11) NOT NULL AUTO_...2、创建一个循环插入的存储过程 CREATE DEFINER=`root`@`localhost` PROCEDURE `test_two1`( ) BEGIN DECLARE i INT DEFAU

    mysql循环添加数据(存储详细)

    接下来,我们将为每个表创建一个对应的存储过程,用于实现循环插入数据的功能。 #### 1. 存储过程 - MyISAM ```sql DELIMITER @ CREATE PROCEDURE insert_isam(IN item INTEGER) BEGIN DECLARE counter INT; SET...

    用shell脚本在mysql表中批量插入数据的方法

    本文将详细介绍如何使用Shell脚本来在MySQL数据库中批量插入数据,这对于测试环境或者数据初始化场景非常有用。 首先,让我们分析一下给定的Shell脚本。这段脚本的主要目的是在名为`afs_test`的MySQL表中插入一系列...

    MySQL创建存储过程批量插入10万条数据

    MySQL创建存储过程批量插入10万条数据 存储过程 1、首先防止主键冲突,我们清空表。 TRUNCATE table A_student; 2、编写存储过程 delimiter ‘$’; CREATE PROCEDURE batchInsert(in args int) BEGIN declare i int ...

    mysql数据插入效率比较

    在MySQL数据库中,数据插入效率是数据库性能优化的关键因素,特别是在大数据量的场景下。本文主要探讨了四种不同的数据插入方式及其效率差异。 1. 单条插入:这是最基本的方式,通过for循环逐条执行INSERT语句。...

    mysql批量插入数据运行脚本

    你需要先创建存储过程,然后调用...存储过程可以通过循环批量插入数据,提高代码的重用性和可维护性。 这样的好处:逻辑封装:复杂的插入逻辑可以封装在存储过程内,易于管理。 灵活性:可以根据参数动态调整插入行为。

    winfrom框架

    环境 vs2010 mysql5.0 系统(ibatisnet + mysql ) ibatisnet sql配置文件内置,数据库连接字段加密,dubug日志输出。 系统中已完成ibatisnet下的增删改查等...方便测试,压缩包里已提供一个mysql循环插入数据的函数。

    88秒插入1000万条数据到MySQL数据库表的操作方法

    其实我在插入1000万条数据的时候遇到了一些问题,现在先来解决他们,一开始我插入100万条数据时候报错,控制台的信息如下: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (4232009 &gt; ...

    用SQL批量插入数据的存储过程

    循环插入: 代码如下: DECLARE @MyCounter INT SET @MyCounter = 0 /*设置变量*/ WHILE (@MyCounter &lt; 2) /*设置循环次数*/ BEGIN WAITFOR DELAY ‘000:00:10’ /*延迟时间10秒*/ INSERT INTO time_by_day (time_...

    Java实现批量向mysql写入数据的方法

    通过使用JDBC,可以实现这些基本操作,例如在本文中,我们使用了insert into语句向mysql数据库中插入数据。 4. Java语言中的时间处理:在本文中,我们使用了SimpleDateFormat类来处理时间信息,例如获取当前时间的...

    mysql大批量插入数据的4种方法示例

    在MySQL中,大批量插入数据通常是为了提高效率和性能,避免频繁地建立和关闭数据库连接。以下是四种常用的方法,适用于不同的场景和需求。 **方法一:循环插入** 这是最基本的方法,适合数据量较小的情况。通过循环...

    C#.NET中如何批量插入大量数据到数据库中

    在C#.NET中批量插入大量数据到数据库是一个常见的任务,特别是在处理诸如从Excel文件导入数据等场景时。这里,我们将探讨如何使用C#.NET高效地完成这个任务,并提供一个简单的示例来说明整个过程。 首先,我们需要...

    MySQL批量插入数据脚本

    这个shell脚本的主要功能是向名为`dbname`的数据库中的`tablename`表中批量插入数据。脚本接受一个参数`$1`,即最大插入行数。它使用了一个while循环,循环次数根据传入的参数决定。 在循环内部,`mysql`命令用于...

    Shell脚本批量添加CSV数据到MySQL

    这个脚本的目的就是读取`prov.csv`中的数据,并将其插入到MySQL数据库中的相应表中。脚本可能包含如下步骤: 1. 使用`cat`或`head`命令查看CSV文件内容。 2. 使用`awk`或`cut`命令处理CSV数据,提取出需要导入数据库...

    mysql_批量数据脚本..

    批量脚本可能会用到`INSERT INTO`(插入数据)、`UPDATE`(更新数据)、`DELETE`(删除数据)、`CREATE TABLE`(创建表)、`ALTER TABLE`(修改表结构)等命令。 2. **事务处理**:在执行批量操作时,为了确保数据...

    百万数据批量插入存储过程

    mysql 数据库已存储过程插入一千万条测试数据!利用项目即将上限需要,可以完全系统的测试项目性能!里面又完整的文档和各项说明:打开文档就可以实际操作。

    MYSQL批量插入数据的实现代码第1/3页

    // 循环插入数据 for (int i = 1; i ; i++) { info = "这条记录是第="; info += Integer.toString(i); str = "insert into test(id, txt) values(?, ?);"; PreparedStatement pstmt = con.prepareStatement...

    Mybatis 3+Mysql 实现批量插入

    在IT领域,尤其是在数据库操作与框架应用中,批量插入数据是一项常见且重要的需求。相比于单条插入,批量插入能够显著提升数据处理效率,减少数据库I/O操作,从而提高整体性能。本文将深入探讨如何利用MyBatis框架...

Global site tag (gtag.js) - Google Analytics