数据库中字段的类型选择

char和varchar

①varchar占用空间相对char要小,是根据储存内容动态分配大小的,而char则是固定大小,使用空字节填充剩余空间。
②char效率相对要高,当一个字段经常被修改时,由于varchar是动态分配空间,在修改字段时需要进行 Row Migration(行迁移),会造成多余I/O,而char则没有这种问题。③varchar最大总长度为255字节,varchar为65533字节,注意这里单位是字节,所以不允许定义VARCHAR(num),num=65533,因为num在这里的单位是字符。(在utf8编码中,一个英文字符占用一个字节,而一个汉字字符往往占用3个字节)
综上,更新频次低的字段用varchar,节省空间更划算;更新频次高的字段建议用char,效率更高。
时间: 2024-07-29 15:03:27

数据库中字段的类型选择的相关文章

数据库中字段类型对应的C#中的数据类型

数据库中字段类型对应C#中的数据类型: 数据库                 C#程序 int int32 text string bigint int64 binary System.Byte[] bit Boolean char string datetime System.DateTime decimal System.Decimal float System.Double image System.Byte[] money   System.Decimal nchar String n

数据库中字段类型对应的C#中的数据类型(转载)

数据库中字段类型对应C#中的数据类型: 数据库                 C#程序 int int32 text string bigint int64 binary System.Byte[] bit Boolean char string datetime System.DateTime decimal System.Decimal float System.Double image System.Byte[] money   System.Decimal nchar String n

关于数据库中varchar/nvarchar类型数据的获取注意事项

当在页面后台获取数据库表中某字段的数据时,需注意该数据的类型.防止因实际数据的字符长度因达不到指定数据类型规定的字符长度而导致空格的占位符. 比如: MSSQL中某一表的结构如下:   表中的数据: 当从表中获取某一个用户名(userName)或密码(userPwd)时,如果取出的数据作为条件进行判断是,需注意获取处的数据最好进行Trim()处理,去除数据两边的空格占位符 比如: 没有对数据进行Trim()处理前,从数据库中获取的数据因为原本的数据长度不够而导致空格占位符 对数据进行Trim()

Oracle数据库中的blob类型解析

Oracle的Blob字段比较特殊,他比long字段的性能要好很多,可以用来保存例如图片之类的二进制数据. 写入Blob字段和写入其它类型字段的方式非常不同,因为Blob自身有一个cursor,你必须使用cursor对blob进行操作,因而你在写入Blob之前,必须获得cursor才能进行写入,那么如何获得Blob的cursor呢? 这需要你先插入一个empty的blob,这将创建一个blob的cursor,然后你再把这个empty的blob的cursor用select查询出来,这样通过两步操作

时间、金钱在java、数据库中的变量类型之总结

在编写程序时,总是有些变量的类型搞不很明白,现将目前涉及到的变量总结一下: 1.“时间”类型 (1).在数据库中的变量类型是:DateTime 比如: operateTime DATETIME,//数据库中编写的字段类型 (2).在java程序中的变量类型是:Date 比如: private Date operatetime;// 操作时间 //set.get方法 public Date getOperatetime() { return operatetime; } public void s

如果数据库中的时间类型与mybatis的时间类型对应关系

如果数据库时间字段的类型是datetime 跟TIMESTAMP  ,则mybatis中的jdbctype都是TIMESTAMP MySQL Type Name Return value of GetColumnClassName Returned as Java Class DATETIME DATETIME java.sql.Timestamp DATE DATE java.sql.Date TIMESTAMP[(M)] TIMESTAMP java.sql.Timestamp TIME T

SQL server数据库中的DateTime类型出现的问题

我们知道这个SQL server数据库中的DateTime类型是数据库应用开发中经常用到的一种数据类型,而C#语言中也有DateTime类型,虽然二者都是用来描述时间的,但是它们的默认值是不同的,这点必须注意,在开发过程中,二者之间相互适应关系处理不当,可能会产生不必要的麻烦,就等于浪费时间,所以记住.举个例子看看: 创建一个windows应用程序,创建一个用户信息实体类UserInfo.代码如下: 注意的是:用户信息类中的“操作日期”属性是日期类型. 再创建一个业务操作类,UserInfoOp

采用struts2+hibernate实现保存文件到Oracle数据库&&并附下载代码【导入即可用】;数据库中保存blob类型的二进制文件

原文:采用struts2+hibernate实现保存文件到Oracle数据库&&并附下载代码[导入即可用]:数据库中保存blob类型的二进制文件 源代码下载地址:http://www.zuidaima.com/share/1550463402478592.htm

mysql数据库中的boolean类型

mysql数据库中没有boolean类型,用tinyint类型代替,1代表true,0代表false