我正在制作一张桌子,这让我很好奇.

如果我go store ,比如说有品牌的汽车(fx宝马、奥迪等),如果我将make存储为int或varchar,会对查询速度产生任何影响吗.

也是

SELECT * FROM table WHERE make = 5 AND ...;

快/慢于

SELECT * FROM table WHERE make = 'audi' AND ...;

或者速度会差不多吗?

推荐答案

Int比较比varchar比较快,因为Int比varchar占用的空间小得多.

这对未索引和索引访问都适用.最快的方法是索引int列.


正如我看到的,您已经标记了问题postgreql,您可能对不同日期类型的空间使用感兴趣:

Sql相关问答推荐

重复ID消除跨越两列

需要解决办法通过传递过程参数而不是声明表行类型来声明表类型

如何查询未命名对象的SON数组

SQL查询以创建手头的流动余额?

在SQL中创建一个计数器,根据BigQuery/SQL中的条件递归地添加行值

没有循环的SQL更新多个XML node 值

重新组合已排序的日期范围

有没有办法在Postgres中存储带有时区的时间戳,而不将其转换为UTC

冲突查询的UPDATE时违反非空约束

SQL计数条目大于日期,包括交叉表中的零

将JSON文件导入Postgres 16数据库时出错(22P04上次预期列之后的额外数据)

使用拆分器将已分组的不同值连接在一起

比较SQL中以逗号分隔的字符串

通过对象分离实现原子性

如何将不同层次的产品组和规格组合到最深一层?

用于SQL协助的XQUERY()

在 R 值的 SQL 块中显示值

按所选的值将记录分组到不同的列中

当该日期的至少两条记录具有相同的持续时间或至少一条记录的持续时间为 0 时,如何标记该日期的所有记录

SQLite 中的过滤运行总和视图