位置: 编程技术 - 正文

SQL 研究 相似的数据类型(sql语句相似度计算)

编辑:rootadmin

最常用的数值类型是int,但是它未必是最佳选择。bigint,smallint,tinyint可以应用在特殊场合。他们的特性如下表所示:

Data type Range Storage

bigint

-2^ (-9,,,,,,) to 2^-1 (9,,,,,,)

8 Bytes

int

-2^ (-2,,,) to 2^-1 (2,,,)

4 Bytes

smallint

-2^ (-,) to 2^-1 (,)

2 Bytes

tinyint

0 to

1 Byte

可见如果某一列的值只有来个值,而你却用了int,那么没行数据多占用了3个字节。如果有1G的行数,那么你多用了3G的空间。如果它还在index中,ok,它又占用了不必要的3G。

与此类似的是Float和Real,他们的格式如下:

Data type Range Storage

float

- 1.E+ to -2.E-, 0 and 2.E- to 1.E+

Depends on the value of n

1,=4 bytes

,=8bytes

real

- 3.E + to -1.E - , 0 and 1.E - to 3.E +

4 Bytes

需要说明的是,float的长度取决于一个参数,虽然我们通常声明的时候并不指定float的长度,实际上是存在这样的选项的。这个长度默认是,数值范围如上表所示。

显然如果你要表示的数字不会超过的次方的话,你应该用real,他可以为你节省4个字节。

另一个相关的例子是decimal和numerical,他们是另一组精确表示数值的类型。float和real是不精确的,所以不能做相等的比较。

decimal和float在功能是等价的,为什么要分成两个名字,我也不清楚。

decimal的声明如下:decimal(p,s),p表示总共多少位,包括小数点前后的数字,s表示小数点后多少位,p不能超过,当然s不能超过p,缺省是0。

decimal的范围是正负的p-s次方的结果 减去的-s次方。比如decimal(2,1)的范围是正负9.9。

decimal的长度和p的大小相关,如下表所示:

Precision Storage bytes

1 - 9

5

-

9

-

-

可使用变长字节来存放decimal。此时数据库根据实际数值的大小来存放decimal,而不是根据声明来判断。如果表中没有var length的列,那么需要额外的两个字节,否则不会有额外的需要。

可以通过如下的命令启动一个数据库上的变长decimal存储:

EXEC sp_db_vardecimal_storage_format 'AdventureWorks', 'ON' ;

通过EXEC sp_db_vardecimal_storage_format ;查看所有启动了这一功能的数据库。

通过EXEC sp_tableoption 'Sales.SalesOrderDetail', 'vardecimal storage format', 1 ;

启动对某个表的变长decimal存储。

最后再看看datetime和smalldatetime,两者都表示时间,区别如下:

datetime表达的时间更久,到,精度更高,分之一秒,占用8个字节;

smalldatetime表达的时间较短,到,精确到分,4个字节。

通常情况下,smalldatetime是够用的。

推荐整理分享SQL 研究 相似的数据类型(sql语句相似度计算),希望有所帮助,仅作参考,欢迎阅读内容。

SQL 研究 相似的数据类型(sql语句相似度计算)

文章相关热门搜索词:数据库相似查询,sql查找相似匹配,sql相似度80%查询,sql查找相似匹配,sql文字相似性匹配,sql查找相似匹配,sqlserver相似度函数,sql语句相似查询,内容如对您有帮助,希望把文章链接给更多的朋友!

修复断电等损坏的SQL 数据库 如数据库名为:FreeHost首先是设置为单用户模式,然后修复,最后是恢复多用户模式。ALTERDATABASE[FreeHost]SETSINGLE_USERGODBCCCHECKDB('FreeHost',repair_allow_data_loss)WI

SQL 返回期间内的所有日期 selectrownumasdateIndex,to_date('','yyyy-mm-dd')+rownum-1ASDATE_FROMDUALCONNECTBYLEVEL=1ANDLEVEL=(TO_DATE('','yyyy-mm-dd')-TO_DATE('','yyyy-mm-dd')+1)

数据库中的内容字段被挂马的替换方法 SQL注入 清除了sqlsever中的一些挂马字段,现在总结sqlsever批量替换数据库挂马字段一文,希望可以帮助有需要的人。【处理方法】1、先备份数据,防止删除挂

本文链接地址:https://www.jiuchutong.com/biancheng/349415.html 转载请保留说明!

上一篇:SQLServer 中.与::的区别(sql %和_)

下一篇:修复断电等损坏的SQL 数据库(断电恢复)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络