В чем разница между INSERT и CREATE VERTEX в OrientDB?
Я воссоздал свою базу данных как graph
вместо базы данных document
, поскольку она представляет собой социальную сеть. Однако я не уверен, в чем разница между вершиной и обычной записью. Я все еще могу использовать INSERT
, что очень полезно из-за опции UPSERT
, а опции CREATE VERTEX
не имеют этой опции.
Кроме того, мне интересно, действительно ли мне нужно использовать CREATE VERTEX
, Если UPDATE VERTEX
будет доступен.
2 ответа:
Нет такой большой разницы между CREATE VERTEX и INSERT в реализации подчиненного, но строго рекомендуется использовать CREATE VERTEX, потому что это может сделать дополнительную проверку! а также все специфические операции sql типа DELETE VERTEX!
Для UPSERT в CREATE VERTEX будет очень приятно отправить запрос на функцию:)
При использовании Pyorient 1.4.9 и OrientDB 2.2.17,
Я обнаружил, что если у вас есть универсальный класс, вы можете вставлять новые записи только с помощьюINSERT INTO MyGenericClass ...
. При попытке использоватьCREATE VERTEX MyGenericClass ...
клиент pyorient зависает и перестает отвечать. Несмотря на то, что pyorient не отвечает, Я бы сказал, что вы не можете вставить вершину в класс, который не наследует классV
.