目前我正在开发一个带有后端MySQL的应用程序,但将来我需要编写所有业务逻辑来与SAS合作。
所以请建议我应该使用哪些常见数据类型来避免基于SQL的引擎和SAS的数据类型不匹配问题。例如,SAS仅对int / double使用Numeric,而基于SQL的引擎对它们使用不同的数据类型。如果我对SQL中的所有字段使用DECIMAL会影响我的存储过程的执行时间吗?
额外信息:我的数据库每个表中都有数百万行。
答案 0 :(得分:0)
You should look at SQL-92,它有点过时,并且有更新的标准(例如SQL:1999),但AFAIK大多数RDBMS应该至少使用它的子集。
至少这些应该没问题:
对于每种数据类型,您必须检查它分配的内存。这肯定会影响执行的性能,而不仅仅是SQL Server的性能。例如,如果使用INT,则JOIN非常快,如果使用NUMERIC,则可以足够快,但我不建议将其用于VARCHAR(CHARACTER VARYING)。在你的情况下,如果你使用DECIMAL它肯定会影响性能,但问题是:你会注意到它吗?
我相信您应该专注于查询优化,尽可能贴近SQL-92并随时解决最终问题。