我想保存一些数字序列,可以是数字(例如12345,1230)或不是(例如00123,0120)。为此目的,哪种类型的列最有效(通过内存,通过索引速度)?
另外,我需要存储来自特定字母的字符串(例如"数字和逗号"或"数字和英文字母和点和逗号")。如何有效地做到这一点?
我可以对列的CHAR
/ VARCHAR
类型设置限制以减少占用的内存大小吗?
答案 0 :(得分:0)
这与任何暗示varchar / text类型的字符串列没有区别。
VARCHAR(n)
动态处理存储。
对于约束允许的符号,您可以使用CHECK约束,但它们在MySQL中不起作用,因此解决方法是使用触发器并在那里定义接受的字符。 See this question.
您可以使用REGEXP
函数来定义允许的字母。
答案 1 :(得分:0)
对于sql,您可以使用
varchar()如果您使用POSTgreSQL就可以使用某些东西 称为citext