Чтобы ответить на вопрос, на диске MySql используется 1 + размер, который используется в поле для хранения данных (поэтому, если столбец был объявлен как varchar (45), а поле было «FooBar», он будет использовать 7 байтов). на диске, если, конечно, вы не используете многобайтовый набор символов, где он будет использовать 14 байтов). Таким образом, как бы вы ни объявили свои столбцы, это не будет иметь никакого значения для хранилища (вы заявили, что беспокоитесь об оптимизации диска для массивной таблицы). Тем не менее, это имеет значение в запросах, поскольку VARCHAR преобразуются в CHAR, когда MySql создает временную таблицу (SORT, ORDER и т. Д.), И чем больше записей вы можете разместить на одной странице, тем меньше памяти и быстрее будет сканироваться таблица. быть.
Производительность во многом связана с доступными библиотеками для данной задачи. Если все дело в статистических вычислениях, R имеет очевидную победу благодаря огромному разнообразию библиотек. Однако, когда вам нужно манипулировать / смешивать данные, J может быть легче обрабатывать, и это станет намного, намного проще, когда вы станете более опытным в программировании на J.
Однако вы можете иметь оба мира, используя интерфейсы R в J.
R печально известен своей низкой производительностью. Однако не следует злоупотреблять циклами for ни в J, ни в R. У J приличная работа. Более того, код J обычно короче и, следовательно, его легче изменить / переписать / оптимизировать / придумать новый алгоритм. Я считаю «создание нового алгоритма» большой победой.
R ' Сообщество s огромно по сравнению с J. Однако у вас есть свои плюсы и минусы. Представьте себе плюсы и минусы жизни в маленькой, дружелюбной деревне и в большом городе.
Синтаксис J на удивление согласован по сравнению с R. Как только вы изучите принципы, предсказуемость очень высока.
Подобный вопрос недавно был задан на форуме J. Это был мой ответ:
Я нигде не знаю R так же хорошо, как J, но, учитывая этот отказ от ответственности, вот мои впечатления:
Если бы я занимался статистикой, я думаю, что R был бы очевидным выбором. Однако я считаю, что возможности J по манипулированию данными проще и мощнее. Итак, мое текущее решение «have-my-cake-and-eat-it-too» - использовать J для создания данных и управления ими, а затем использовать его интерфейс Rserve для доступа к функциям / пакетам из R по мере необходимости. Однако до сих пор мое использование R было "легким".