0

目前我正在使用后端 MySQL 开发应用程序,但将来我需要编写所有业务逻辑以使用 SAS。

所以请建议我应该使用哪些常见数据类型来避免跨基于 SQL 的引擎和 SAS 的数据类型不匹配问题。例如,SAS 仅将 Numeric 用于 int/double,而基于 SQL 的引擎具有不同的数据类型。如果我对 SQL 中的所有字段使用 DECIMAL 会影响我的存储过程的执行时间吗?

额外信息:我的数据库将在每个表中包含数百万行。

4

1 回答 1

0

您应该查看 SQL-92,它有点过时并且有更新的标准(例如 SQL:1999)但是 AFAIK 大多数 RDBMS 应该至少使用其中的子集。

至少这些应该没问题:

  • 特点
  • 性格变化
  • 少量
  • 数字
  • 十进制
  • 整数
  • 小灵通
  • 漂浮
  • 真实的
  • 双精度
  • 日期
  • 时间

对于每种数据类型,您必须检查它分配的内存。这肯定会影响您的执行性能,而不仅仅是 SQL Server。例如,如果使用 INT,则 JOIN 非常快,如果使用 NUMERIC,则可能足够快,但我不建议将它用于 VARCHAR(CHARACTER VARYING)。在你的情况下,如果你使用 DECIMAL 它肯定会影响性能,但问题是:你会注意到吗?

我认为您应该专注于查询优化,尽可能地坚持 SQL-92 并解决最终的问题。

于 2013-08-03T13:46:15.360 回答