问题列表 - 第22126页

为什么历史上人们使用255而不是256用于数据库字段量级?

您经常会看到数据库字段设置为255个字符,传统/历史原因是什么?我认为它与分页/内存限制和性能有关,但255和256之间的区别总是让我感到困惑.

varchar(255)
Run Code Online (Sandbox Code Playgroud)

考虑到这是容量或幅度,而不是索引器,为什么255优先于256?是为某种目的保留的字节(终止符还是null或其他)?

推测varchar(0)是无意义的(零容量)?在这种情况下,2 ^ 8的空间应该是256?

是否有其他量级可以提供性能优势?例如,varchar(512)的性能低于varchar(511)或varchar(510)?

对于所有新旧关系数据库,此值是否相同?

免责声明 - 我是开发人员而不是DBA,我使用适合我的业务逻辑的字段大小和类型,但我想知道这种偏好的历史原因,即使它不再相关(甚至是更多,如果它仍然相关).

编辑:

感谢您的回答,似乎有一些共识认为一个字节用于存储大小,但这并不能在我的脑海中明确解决问题.

如果元数据(字符串长度)存储在相同的连续内存/磁盘中,则有一定意义.1个字节的元数据和255个字节的字符串数据非常适合彼此,并且适合256个连续的存储字节,这可能是整洁的.

但是......如果元数据(字符串长度)与实际字符串数据(可能在主表中)分开存储,那么将字符串数据的长度约束一个字节,只是因为它更容易只存储1个字节的整数元数据似乎有点奇怪.

在这两种情况下,它似乎都是一个微妙的可能取决于数据库的实现.使用255的做法似乎相当普遍,所以某个地方的人必须在一开始就为它辩护一个好的案例,有人能记住那个案例是什么吗?程序员在没有理由的情况下不会采用任何新的做法,这必须是新的一次.

sql rdbms-agnostic

182
推荐指数
10
解决办法
6万
查看次数

C#在组合框中添加一个长字符串

在我的窗口应用程序中,我创建了一个Combobox.我的要求是,如果我向组合框添加一个长字符串,当我将消耗该组合框时,在列表视图中该字符串应该完全.

c# combobox winforms

1
推荐指数
1
解决办法
1738
查看次数

如何使表格布局中的列均匀分布,最大限度地利用可用空间

我只是尝试使用表格布局来显示一些数据....数据是一个3列数据,我希望列应该利用可用的整个宽度.但似乎我使用的布局XML代码只是根据内容包装列.

布局XML代码

<?xml version="1.0" encoding="utf-8"?>
<TableLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >   
    <TableRow
        android:layout_width="fill_parent">
        <TextView
            android:padding="3dip"
            android:gravity="left"
            android:text="Name"
            />
        <TextView
            android:padding="3dip"
            android:gravity="left"
            android:text="Address"
            />

        <TextView
            android:padding="3dip"
            android:gravity="left"
            android:text="Age"
            />  
    </TableRow>
</TableLayout>
Run Code Online (Sandbox Code Playgroud)

android android-widget

15
推荐指数
1
解决办法
3万
查看次数

OO模式:抽象基类和子类之间的共享工作

我有一个抽象的基类T,从中继承类AB继承.我现在(的操作T),这需要一个稍微不同的实现AB,但大部分的代码是一样的.让我举个例子:有两种.Clone方法可以实现类似方法:

Public MustInherit Class T
    Protected MustInherit Function _DoClone() As T

    Public Function Clone() As T
        Dim clone = Me._DoClone()    ' do the subclass-specific stuff '
        ... ' do the shared stuff '
    End Function
End Class

Public Class A
    Inherits T

    Protected Overrides Function _DoClone() As T
        ... ' do the subclass-specific stuff '
    End Function
End Class
Run Code Online (Sandbox Code Playgroud)

要么

Public MustInherit Class T
    Protected Sub …
Run Code Online (Sandbox Code Playgroud)

.net language-agnostic oop

4
推荐指数
1
解决办法
171
查看次数

NSMutableArray中的元素数量

如何在运行时知道NSMutableArray中有多少个数组元素?

iphone objective-c nsmutablearray

11
推荐指数
1
解决办法
2万
查看次数

如何确定字符串中的字符是否为整数

假设我想看一下字符串s中第10位的字符.

s.at(10);

知道这是一个数字最简单的方法是什么?

c++ string numbers

5
推荐指数
3
解决办法
2万
查看次数

计算分层SQL数据中的子项数

对于简单的数据结构,例如:

ID    parentID    Text        Price
1                 Root
2     1           Flowers
3     1           Electro
4     2           Rose        10
5     2           Violet      5
6     4           Red Rose    12
7     3           Television  100
8     3           Radio       70
9     8           Webradio    90
Run Code Online (Sandbox Code Playgroud)

作为参考,层次结构树如下所示:

ID    Text        Price
1     Root
|2    Flowers
|-4   Rose        10
| |-6 Red Rose    12
|-5   Violet      5
|3    Electro
|-7   Television  100
|-8   Radio       70
  |-9 Webradio    90
Run Code Online (Sandbox Code Playgroud)

我想计算每个级别的孩子数量.所以我会得到一个新的专栏"NoOfChildren",如下所示:

ID    parentID    Text        Price  NoOfChildren
1                 Root               8
2     1           Flowers …
Run Code Online (Sandbox Code Playgroud)

sql sql-server hierarchy hierarchical-data

21
推荐指数
2
解决办法
1万
查看次数

如何使用YQL检索html文档的头部?

我很好奇这是否可行,因为"select*from html"查询只返回文档的正文.

yql html-head

2
推荐指数
1
解决办法
680
查看次数

Java中是否存在用于协议缓冲区分隔I/O函数的C++等价物?

我正在尝试从C++和Java中的文件读取/写入多个Protocol Buffers消息.谷歌建议在消息之前写长度前缀,但默认情况下没办法(我可以看到).

但是,2.1.0版中的Java API收到了一组"Delimited"I/O函数,显然可以完成这项工作:

parseDelimitedFrom
mergeDelimitedFrom
writeDelimitedTo
Run Code Online (Sandbox Code Playgroud)

有C++等价物吗?如果没有,那么Java API附加的大小前缀是什么,所以我可以用C++解析这些消息?


更新:

这些现在存在于google/protobuf/util/delimited_message_util.hv3.3.0中.

c++ java serialization protocol-buffers

64
推荐指数
7
解决办法
2万
查看次数

如何使用excel公式获得这样的结果

我有两张excel床单

下面是两张纸的一个例子

sheet1

a 1
b 2
d 1
e 3
g 1

sheet2

a
b
c
d
e
f
Run Code Online (Sandbox Code Playgroud)

我想在公式2的b1中放入一个公式并将其向下拖动,以便生成的图纸2为

sheet2

a  1
b  2
c  0
d  1
e  3
f  0

explanation : - a = 1 because same value in book1
                b = 2 because same value in book1
                c = 0 because c does not exist in book1
                d = 1 because same value in book1
                e = 3 because same value in book1
                f …
Run Code Online (Sandbox Code Playgroud)

excel excel-formula

2
推荐指数
1
解决办法
288
查看次数