我在Python3中编写了一个生成大量数据的程序,我想使用python脚本将这些数据存储在MySQL中,该脚本调用包含查询的存储过程
我有一个非常大的数据库+/-350万。在这个数据库中,我用这个查询整理出了一些重复项:
SELECT oligoSequence FROM Oligos GROUP BY oligoSequence HAVING COUNT(oligoSequence) > 1;
现在我得到了以下存储过程:
DELIMITER //
CREATE PROCEDURE sp_mark_duplicate_oligos()
BEGIN
SELECT oligoSequence FROM Oligos GROUP BY oligoSequence HAVING count(oligoSequence) > 1;
END //
DELIMITER ;
至于我的tabel,我得到了一个tinyint(isUniqueProbe),如果它是重复的,我想将它从0改为1
CREATE TABLE Oligos
( gene_id varchar(30) not null,
oligoStartposition int not null,
oligoSequence varchar(25) not null,
incubationTemp decimal(5,2) not null,
isUniqueProbe tinyint(1),
primary key(gene_id, oligoStartposition),
foreign key(gene_id) references Genes(id)
)ENGINE=INNODB;
但是我对MySQL还很陌生,我似乎无法在存储过程中使用update语句,也许我已经使用它太久了,但是如果有人能对此有所了解,我将非常感激
提前谢谢, 埃里克
Python似乎与这个问题无关,也与它在存储过程中的事实无关
您应该索引
oligoSequence
,以提高效率相关问题 更多 >
编程相关推荐