2013-08-03 3 views
0

В настоящее время я разрабатываю приложение с базовым MySQL, но в будущем мне нужно написать всю мою бизнес-логику для работы с SAS.Какой должен быть общий тип данных для всей базы данных

Итак, пожалуйста, предложите мне, какие общие типы данных следует использовать, чтобы избежать проблем с несоответствием типов данных в SQL-системах и SAS. Например, SAS использует только числовое значение для int/double, тогда как в SQL-системах существуют разные типы данных. Если я использовал DECIMAL для всех полей в SQL, это повлияет на время выполнения моих хранимых процедур?

Дополнительная информация: Моя база данных будет иметь миллионы строк в каждой таблице.

+1

Я не знаю, в чем проблема. Если вы получаете доступ к данным в SAS, то драйверы SAS для баз данных (или драйверов ODBC) будут следить за преобразованиями типов для определенных баз данных. –

ответ

0

You should look at SQL-92, он немного устарел и есть более новые стандарты (например, SQL: 1999), но AFAIK большинство RDBMS'ов должны использовать хотя бы подмножество этого.

По крайней мере, это должно быть в порядке:

  • ХАРАКТЕР
  • ХАРАКТЕР VARYING
  • BIT
  • NUMERIC
  • DECIMAL
  • INTEGER
  • SMALLINT
  • FLOAT
  • РЕАЛ
  • DOUBLE PRECISION
  • ДАТА
  • ВРЕМЯ

Для каждого типа данных Вы должны проверить память, что она выделяет. Это наверняка повлияет на производительность вашего исполнения, а не только на SQL Server. Например, JOINs очень быстр, если INT используется, и может быть достаточно быстрым, если использовать NUMERIC, но я бы не рекомендовал его для VARCHAR (CHARACTER VARYING). В вашем случае, если вы используете DECIMAL, это, безусловно, повлияет на производительность, но вопрос в следующем: вы заметите это вообще?

Я считаю, что вам следует сосредоточиться на оптимизации запросов, придерживаться SQL-92 как можно ближе и решать возникающие проблемы по мере того, как вы идете.

Смежные вопросы