检索bit或char(1)有什么 性能 差异?
只是出于好奇=]
更新:假设我正在使用SQL Server 2008!
对于SQL Server:BIT
单个字节内最多可以存储8个类型的列,而每个类型的列CHAR(1)
将占用一个字节。
另一方面:一BIT
列可以有两个值(0 =否,1 =真)或根本没有值(NULL)-而aCHAR(1)
可以具有任何字符值(更多可能性)
因此,实际上可以归结为:
BIT
CHAR(1)
从性能的角度来看,我认为这没有什么大的不同-
除非您有成千上万的列。那么,当然,使用BIT
一个字节最多可以存储8列将是有益的。但是再说一遍:对于您的“普通”数据库案例,那里有几列,十几列,实际上并没有太大的区别。选择
适合您需要 的列类型-不要过分担心性能.....
问题内容: 我在一个网站上有一个表格,该表格有很多不同的领域。一些字段是可选的,而某些字段是必填的。在我的数据库中,我有一个包含所有这些值的表,是否将NULL值或空字符串插入用户未放置任何数据的DB列中是更好的做法? 问题答案: 通过使用,您可以区分“不输入数据”和“不输入数据”。 更多区别: 一个的就是,一个空字符串的是。 s在空字符串之前排序。 将计算空字符串,但不计算s 您可以使用绑定变量搜
问题内容: 是否有办法将JavaScript字符串传递给MySQL的NodeJSfriendly?我正在尝试将电子邮件地址传递给我的NodeJS服务器并查询到MySQL数据库。在执行常规文本(例如用户名)时可以正常工作,但电子邮件地址却不能。显然,使用转义不是正确的答案,因为这并不意味着要进行SQL插入。我假设我需要一些PHP函数。 问题答案: 事实证明,mysql_real_escape_str
问题内容: 希望这只是一个简单的问题,涉及到Sql 2008中的查询时的性能优化。 我曾为在其ETL流程以及一些网站中经常使用Stored Procs的公司工作。我已经看到了他们需要基于一组有限的键值来检索特定记录的情况。我已经看到它以3种不同的方式进行处理,下面的伪代码对此进行了说明。 动态SQL,它包含一个字符串并执行它。 使用用户定义的函数将定界字符串拆分为表 使用XML作为参数而不是带分隔
假设我有一个有2列的表:name和number。Name是一个字符串,可以有一个或多个单词,我想要一个新的查询选择名称编号,但在Name列,它只有最长的词,原来的表。 SQL中是否有一个函数只从字符串中提取最长的单词?
问题内容: 好的,所以我有一个查询: 以上将会更快,或者 有一般规则吗? 谢谢 问题答案: 双方并会做一个查询,接着一个,然后做一个合并连接的两个结果集,最后筛选出任何重复。 使用,重复项并没有真正的意义,因为不能同时使用和,但是事实是将重复转换为和,重复项_是_ 有意义的,因为您可以使用,并且如果您要将两个分开结果集,对于与两个条件均匹配的每条记录,最终可能会出现重复项。 因此,无论您使用还是,
问题内容: ?将转换为并对其进行迭代?还有吗 问题答案: 我使用for循环来迭代字符串,并使用它来获取每个字符以进行检查。由于是通过数组实现的,因此该方法是恒定时间操作。 那就是我会做的。在我看来,这是最简单的。 就正确性而言,我认为这不存在。这完全取决于你的个人风格。