首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >插入一个大文本。插入是唯一的方法吗?

插入一个大文本。插入是唯一的方法吗?
EN

Database Administration用户
提问于 2019-01-25 14:55:24
回答 1查看 2.4K关注 0票数 0

我不是这个级别的数据库专家,所以我想知道以下几点。

我目前正在处理的数据库有一个很大的文本字段,其中每一行可能存储数百兆字节。我知道这不是最优的设计,但它比我早,我现在不能改变它。

数据的插入与单个SQL查询INSERT一起发生,这当然会导致一个巨大的查询。我想知道以下几点:

  • 在这种情况下,当提交大量数据时,插入是否是唯一的选项?也许有一个SQL扩展来处理如此大的传输,从而进行更好的优化。
  • 有一个这样大小的查询,显然需要这几百兆字节的整个传输顺利进行,在整个传输过程中没有任何网络问题。这对网络问题有多大的抵抗力,在失败的情况下是否可以重新启动,而不必再次重新发出整个查询(因此从零开始重新启动整个传输)?

我正在使用最新的MySQL,但我也想知道其他数据库的个人意识。

EN

回答 1

Database Administration用户

发布于 2019-01-25 15:33:28

将数据输入数据库的唯一方法是使用INSERT INTO语句。

此外,您应该使用绑定来防止SQL注入。如果要为单个列传输“兆字节数据”,某些数据库将需要它。示例: Oracle字符串(如'this')的最大长度为32767字节,CLOB的最大大小为千兆字节。

使用绑定的示例语句

代码语言:javascript
复制
INSERT INTO some_table ( text_file_name, text_file_data )
  VALUES (?, ?)

如果传输有问题,数据库将rollback该语句并向应用程序引发错误。

没有伤害(对数据造成伤害),没有犯规(数据库中的数据)

对于任何RDBMS系统来说都是如此。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/228092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档