2013-08-03 37 views
0

目前我正在開發一個帶有後端MySQL的應用程序,但將來我需要編寫我所有的業務邏輯以使用SAS。什麼應該是所有數據庫中的常見數據類型

所以請建議我使用哪些常用數據類型來避免跨基於SQL的引擎和SAS的數據類型不匹配問題。例如,SAS只使用數字來表示int/double,而基於SQL的引擎則使用不同的數據類型。如果我在SQL中的所有字段使用DECIMAL,它會影響我的存儲過程的執行時間嗎?

額外信息:我的數據庫將在每個表中有數百萬行。

+1

我不知道問題是什麼。如果您正在訪問SAS中的數據,那麼數據庫的SAS驅動程序(或ODBC驅動程序)將負責特定數據庫的類型轉換。 –

回答

0

You should look at SQL-92,它有點過時並且有更新的標準(例如SQL:1999),但AFAIK大多數RDBMS'es應該至少使用它的子集。

至少這些應該沒問題:

  • CHARACTER
  • CHARACTER VARYING
  • NUMERIC
  • 十進制
  • INTEGER
  • SMALLINT
  • FLOAT
  • REAL
  • DOUBLE PRECISION
  • DATE
  • TIME

對於你必須檢查它分配內存的每個數據類型。這肯定會影響執行的性能,而不僅僅是SQL Server。例如,如果使用INT,則JOIN速度非常快,如果使用NUMERIC,JOIN速度可能會很快,但我不會將其推薦用於VARCHAR(CHARACTER VARYING)。在你的情況下,如果你使用DECIMAL,它肯定會影響性能,但問題是:你會注意到這一點嗎?

我相信你應該專注於查詢優化,儘可能地堅持SQL-92並儘可能地解決最終的問題。

相關問題