Я думаю, что Вы подразумеваете, что различие между УДАЛЯЕТ ТАБЛИЦУ и TRUNCATE TABLE.
DROP TABLE
удаляют таблицу из базы данных.
УДАЛЯЮТ ТАБЛИЦУ
без условия, удаляют все строки. Если будет триггер и ссылки тогда, то это обработает для каждой строки. Также индекс будет, изменяют если там один.
TRUNCATE TABLE
установил нуль количества строки и не регистрируя каждую строку. То, что это - многие быстрее как другой оба.
I'm surprised Jon Skeet hasn't already pounced on this one :-)
Protocol Buffers is pretty much designed for this sort of scenario -- passing structured data cross-language.
That said, if you're using a database the way you suggest, you really shouldn't be using a full-strength RDBMS like Oracle or SQL Server but rather a lightweight key-value store such as Berkeley DB or one of the many "cloud table" engines.
Если я хочу по-настоящему кросс-язык, я обычно предлагаю JSON, поскольку простота поддержки javascript и обилие библиотек , а также удобочитаемость и модифицируемый (я предпочитаю его XML, поскольку считаю, что он меньше по размеру символов, быстрее и удобнее для чтения). Однако это не самый эффективный с точки зрения пространства, и более машиночитаемый формат, такой как буферы протокола или экономия , будет иметь здесь преимущества (экономию можно сделать из IDL, но она также предназначен для служб кодирования, поэтому он может быть тяжелее, чем вы хотите).
Почему вы не выбрали XML, поскольку это полностью соответствует вашим требованиям. И C ++, и Java допускают простую реализацию.
Кроме того, я сомневаюсь в вашей идее хранить все в виде большого двоичного объекта в базе данных, использовать реляционную базу данных, для которой предназначена база данных, или переключиться на какую-либо объектно-ориентированную базу данных, например http://www.versant.com/en_US/products/objectdatabase , который поддерживает как Java, так и C ++.
Вам нужен ASN.1 ! (Некоторые люди называют это двоичным XML.) ASN.1 очень компактен и поэтому идеально подходит для передачи данных между двумя системами. И для тех, кто не думает, что это когда-либо использовалось: несколько Интернет-протоколов основаны на модели ASN.1 для сериализации данных!
К сожалению, не так много доступных библиотек для Java или C ++, которые будут поддерживать ASN.1. . Мне приходилось работать с ним несколько лет назад, и я просто не мог найти хорошего, бесплатного или недорогого инструмента для поддержки ASN.1 в C ++. В Objective Systems продаются решения ASN.1 / XML, но это очень дорого. (Компилятор ASN.1 для C ++ и Java, то есть!) Это стоит вам как минимум руки и ноги! (Но тогда у вас будет инструмент, которым можно пользоваться только одной рукой ...)
Я бы посоветовал сохранить данные в базе данных SQLite . Структуры могут храниться в виде строк базы данных в таблицах SQLite.
Полученный файл базы данных является двоично-совместимым на многих различных платформах и может быть сохранен как большой двоичный объект в вашей основной базе данных. Я считаю, что размер файла сопоставим со сжатым файлом XML с теми же данными, но использование памяти во время обработки будет значительно меньше, чем у XML DOM.