python

存储过程双重循环插入SQL

文章暂存

systemime
2021-03-21
3 min

摘要.

-- 创建插入数据的存储过程
DROP PROCEDURE IF EXISTS `add_vote_record_memory`;
DELIMITER //
CREATE PROCEDURE `add_vote_record_memory`(IN n INT)
BEGIN
    DECLARE i INT DEFAULT 1;
    DECLARE j INT DEFAULT 1;
    DECLARE xx INT DEFAULT 100;
    WHILE i < n DO
				WHILE j<xx DO
					INSERT INTO `amend_policy` (order_no, amend_no)
					VALUES
					(i, j);
					set j = j + 1;
				END WHILE;
        SET i = i + 1;
				set xx = xx + j;
    END WHILE;
END //
DELIMITER ;  -- 改回默认的 MySQL delimiter:';'

CALL add_vote_record_memory(50);

# 不同量级下自查询效率及优化

环境:MySQL5.6 需求:查询某个类型记录对应另一种记录的最新值 配置:id为递增主建,amend_no字段存在索引

# 低数据量

image.png

# 100W级

image.png

# 执行过程

image.png
image.png
image.png

# 优化原理

上次编辑于: 2021/5/20 下午3:26:49