草庐IT

varchars

全部标签

MySQL 对 VarChar(255) 和 VarChar(65536) 的不同处理

有谁知道使用VarChar(255)和VarChar(65536)之间的区别?这是我目前所知道的:VarChar(255)将只使用一个字节的大小VarChar(65536)将使用两个字节作为大小VarChar(65536)仅在MySQL5.0.3之后存在MySQL在255和65536之间使用不同的处理方式(尽管不知道其中的区别)我不确定这些varchar之间是否有任何性能差异。假设我想创建一个包含多种类型行的表。使用带有“data_type1”和“data_type2”的枚举data_type1在varchar中永远不会超过255个字符data_type2在varchar中将大部分超过

MySQL 对 VarChar(255) 和 VarChar(65536) 的不同处理

有谁知道使用VarChar(255)和VarChar(65536)之间的区别?这是我目前所知道的:VarChar(255)将只使用一个字节的大小VarChar(65536)将使用两个字节作为大小VarChar(65536)仅在MySQL5.0.3之后存在MySQL在255和65536之间使用不同的处理方式(尽管不知道其中的区别)我不确定这些varchar之间是否有任何性能差异。假设我想创建一个包含多种类型行的表。使用带有“data_type1”和“data_type2”的枚举data_type1在varchar中永远不会超过255个字符data_type2在varchar中将大部分超过

mysql - 如何为已使用的表添加 varchar 字段?

我有一个带有游戏表(InnoDB)的mysql数据库:gameroomsid:bigint(20)unsignednotnullauto_incrementPRIMARYKEY(`id`)我想开始为我可以公开共享的每一行生成一个UUID值,例如:gameroomsid|id_public|--------------------1|abcde2|ghijk3|lmnop...select*fromgameroomswhereid_public=...如何添加这个新列,同时记住表中已经有记录?我很困惑,因为该列应该标记为NOTNULL,但是在添加该列之后,所有已经存在的记录都会有空值。我

mysql - 如何为已使用的表添加 varchar 字段?

我有一个带有游戏表(InnoDB)的mysql数据库:gameroomsid:bigint(20)unsignednotnullauto_incrementPRIMARYKEY(`id`)我想开始为我可以公开共享的每一行生成一个UUID值,例如:gameroomsid|id_public|--------------------1|abcde2|ghijk3|lmnop...select*fromgameroomswhereid_public=...如何添加这个新列,同时记住表中已经有记录?我很困惑,因为该列应该标记为NOTNULL,但是在添加该列之后,所有已经存在的记录都会有空值。我

mysql - 如何在sql中将Varchar转换为Double?

当我尝试将varchar字段转换为double(数字)时,我的查询出现问题。我有这个sql语句:SELECTfullName,CAST(totalBalasnumeric(9,2)FROMclient_infoORDERBYtotalBalDESC实际上我想按降序显示totalBal的值。但由于该字段是varchar,结果集有时是错误的。这是我尝试使用此语句查询时的结果集:SELECTfullName,totalBalFROMclient_infoORDERBYtotalBalDESC结果集是:totalBal的排序不正确。所以我决定将varchar转换为numeric,以便它可以完美

mysql - 如何在sql中将Varchar转换为Double?

当我尝试将varchar字段转换为double(数字)时,我的查询出现问题。我有这个sql语句:SELECTfullName,CAST(totalBalasnumeric(9,2)FROMclient_infoORDERBYtotalBalDESC实际上我想按降序显示totalBal的值。但由于该字段是varchar,结果集有时是错误的。这是我尝试使用此语句查询时的结果集:SELECTfullName,totalBalFROMclient_infoORDERBYtotalBalDESC结果集是:totalBal的排序不正确。所以我决定将varchar转换为numeric,以便它可以完美

mysql - char vs varchar 在股票数据库中的性能

我正在使用mySQL建立一个股票期权数据库。大约有330,000行(每行有1个选项)。我是SQL的新手,所以我正在尝试确定选项符号(4到5个字符不等)、股票代码(1到5个字符不等)、公司名称(5到60个字符不等)等字段类型字符)。我想优化速度。两者都创建数据库(随着新价格数据的出现每5分钟发生一次——我没有实时数据馈送,但它接近实时,因为我收到了一个包含330,000行的新文本文件每5分钟一次;这个新数据完全取代了以前的数据),还有查找速度(将有一个基于Web的前端,许多用户可以在其中运行临时查询)。如果我不关心空间(因为数据库的生命周期是5分钟,每行可能包含300个字节,所以整个数据

mysql - char vs varchar 在股票数据库中的性能

我正在使用mySQL建立一个股票期权数据库。大约有330,000行(每行有1个选项)。我是SQL的新手,所以我正在尝试确定选项符号(4到5个字符不等)、股票代码(1到5个字符不等)、公司名称(5到60个字符不等)等字段类型字符)。我想优化速度。两者都创建数据库(随着新价格数据的出现每5分钟发生一次——我没有实时数据馈送,但它接近实时,因为我收到了一个包含330,000行的新文本文件每5分钟一次;这个新数据完全取代了以前的数据),还有查找速度(将有一个基于Web的前端,许多用户可以在其中运行临时查询)。如果我不关心空间(因为数据库的生命周期是5分钟,每行可能包含300个字节,所以整个数据

mysql - 比较需要考虑 varchar 中的尾随空格

我正在使用一个带有varchar列的表。我没有意识到在比较中不考虑尾随空格(显然,如果指定的话,仅尾随空格数量不同的两个值将违反唯一性属性)。我需要在表格中解决这个问题,最好是就地解决。在MySQL中是否有修复这样的表的推荐路径?我严格通过我控制的程序访问数据库,因此切换到非人类可读格式(如二进制)就可以了。但我不确定如何做这样的事情,也不想破坏table。 最佳答案 我必须假设您使用的是MySQL5.x,因为MySQL4.x不在VARCHAR列中存储尾随空格。在MySQL中使用标准的=运算符,如您所指出的,不考虑尾随空格:SELE

mysql - 比较需要考虑 varchar 中的尾随空格

我正在使用一个带有varchar列的表。我没有意识到在比较中不考虑尾随空格(显然,如果指定的话,仅尾随空格数量不同的两个值将违反唯一性属性)。我需要在表格中解决这个问题,最好是就地解决。在MySQL中是否有修复这样的表的推荐路径?我严格通过我控制的程序访问数据库,因此切换到非人类可读格式(如二进制)就可以了。但我不确定如何做这样的事情,也不想破坏table。 最佳答案 我必须假设您使用的是MySQL5.x,因为MySQL4.x不在VARCHAR列中存储尾随空格。在MySQL中使用标准的=运算符,如您所指出的,不考虑尾随空格:SELE