【发布时间】:2017-02-10 04:38:38
【问题描述】:
我有一个这样的临时表:
CREATE TABLE `staging` (
`created_here_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`desc_text` TEXT NOT NULL );
目标表为:
CREATE TABLE `final_tbl` (
`row_id` BIGINT NOT NULL AUTO_INCREMENT,
`created_here_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`desc_text` TEXT NOT NULL );
我只想将 desc_text 插入到 final_tbl 中,前提是它不存在。我正在考虑两种选择:
- 检查 staging.desc_text 是否存在于 final_tbl.desc_text 中,如果不存在则插入到 final_tbl 中
- 在“final_tbl”中维护一个列,该列将存储 desc_text 列的 SHA224 值。将 staging.desc_text 的 SHA224 值与最终表中的 SHA224 列进行比较,然后决定是插入还是忽略。
我想知道哪个选项会更快?
【问题讨论】:
标签: mysql text blob innodb query-performance