首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >甲骨文性能- Varchar2 (x char) x Varchar2 (x字节)

甲骨文性能- Varchar2 (x char) x Varchar2 (x字节)
EN

Database Administration用户
提问于 2015-07-21 18:02:33
回答 1查看 3.9K关注 0票数 2

我知道Varchar2 (x char) x Varchar2 (x字节)之间的定义差异。

Varchar2(20个字符)意味着您可以存储20个字符--而varchar2( 20 )表示您可以存储20个字节。

  1. 那表演呢?
  2. 如果我的所有数据库都使用Varchar2 (x char),即使我的整个数据库只是使用英语,那么会有问题吗?

谢谢!

EN

回答 1

Database Administration用户

回答已采纳

发布于 2015-07-21 18:17:10

假设您的数据库字符集是AL32UTF8 (如果两者之间有差异,这几乎肯定是您的字符集),并且所有数据都是存在于US7ASCII字符集中的字符(根据我们正在使用的定义,“english”可能构成的字符可能更多),那么varchar2(n CHAR)varchar2(n BYTE)之间就不会有任何明显的性能差异。

基于数据库字符集,Oracle需要做更多的工作来读取字符串,以确定每个字节代表单个字符,而不是多字节字符的一部分。但是,在字符或字节中检查字符串的长度是非常简单的操作。除非你正在运行一个TPC基准测试,在那里你已经做了很多在现实中你永远不会做的事情,以获得微小的性能改进,这是不值得担心的事情。

如果您要疯狂地使用TPC基准级别来获得最后的千分之一,那么使用US7ASCII的数据库字符集并使用字节语义声明所有内容可能会稍微高效一些,因为您只需要存储英语。但是,实际上,如果您的应用程序效率如此之高,以至于这类事情很重要,那么您已经解决了每个性能问题,因此您应该更多地关注可支持性和可维护性,这将需要一个AL32UTF8字符集和字符长度语义。

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

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

复制
相关文章

相似问题

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